【问题标题】:ajax post to php returns $_SERVER['REQUEST_METHOD'] GETajax post 到 php 返回 $_SERVER['REQUEST_METHOD'] GET
【发布时间】:2017-07-28 09:35:27
【问题描述】:

我正在尝试使用ajax 将时事通讯表单数据发布到php 页面,但是当我在php 页面上回显$_SERVER['REQUEST_METHOD'] 时,它会打印GET(没有变量)。我在多个网站上使用过类似的代码,没有任何问题。 (jquery v3.2.1)

  $.ajax({
            method: 'post', 
            dataType: 'json',
            url: '<?=$site_url?>/templates/xxxx/contact_send/email_send.php',
            data: JSON.stringify(dataString),
            contentType: 'application/JSON;charset=UTF-8',
            success: function () {
                console.log('success');
            }
        });

网络日志

回显 $_SERVER['REQUEST_METHOD']

回应

【问题讨论】:

  • var_dump($_SERVER['REQUEST']); 看看你的变量是否在任何地方。
  • 做到了。返回 NULL。

标签: php jquery ajax


【解决方案1】:

方法的浏览器是 GET....(第二张图片)

您应该会看到响应的网络日志图像

【讨论】:

  • 那么您的问题呢?你调用 ajax post 到 php,它是响应 POST(右),你在浏览器响应 GET(右)中连接到 url,你想要什么结果?
  • 它没有通过 if ($_SERVER['REQUEST_METHOD'] == 'POST') 条件,而且我没有可在 php 代码中使用的数据。
【解决方案2】:

我会尝试通过创建一个仅包含您的 javascript 代码的新 HTML 文件发送一些虚假数据和一个仅包含 echo $SERVER['REQUEST']; 的新 PHP 文件来缩小问题范围.否则是一些服务器问题。你确定你没有 .htaccess 来禁止 POST 吗?尝试将此添加到 .htaccess Access-Control-Allow-Methods: POST, GET, OPTIONS

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-29
    • 1970-01-01
    • 2012-04-23
    • 2022-06-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多