JQuery Ajax $ _GET请求收到来自PHP的错误响应

问题描述 投票:0回答:1

发生错误的地方:

我正在通过ajax请求将数据发送到php。在那里,它检查接收到一个空的或非空的GET,并且对于每个选项,它都返回不同的答案。问题是在php页面上答案是正确的,但是当它返回到发送它的页面时,答案就变得不正确。

当GET为空时,php返回'empty'(如预期),但是ajax打印'not empty'(预期为'empty')] >>

我绝对不明白为什么会这样。我尝试用exit和return返回各种

AJAX:

$(".rate_form .submit").click(function() {
  var rate_form = $(this).parents().find('.rate_form');
  var rate = rate_form.serialize();
  $.ajax({
    type: "GET",
    url: "rate.php",
    data: {
      "rate": rate
    },
    cache: false,
    success: function(response) {
      console.log(response);
    }
  });
  return false;
});

RATE.PHP:

header("Content-type: text/html; charset=utf-8");

if(empty($_GET)){
    exit('empty');
}elseif (!empty($_GET)){
    exit('not empty');
}


UPD:我尝试了@Barmar建议

不幸的是,这与问题无关。我完全摆脱了“缓存”,但是情况没有改变。我什至尝试只检查empty()的一个$ _GET参数(也尝试isset())。

结果与之前相同:

在rate.php中,答案是正确的(取决于请求是否为空或带有参数),并且在表单的页面上始终只有一个答案:空”。而且,即使是陌生人,如果返回$ _GET数组,那么它也会正确返回(当$ _GET不为空时,它将返回“空”和非空数组)
if (!empty($_GET['rating'])){
    print_r($_GET);
    exit('not empty');
} else {
    print_r($_GET);
    exit("empty");
}

页面上的控制台答案

返回“空”和非空数组
Array
(
    [rate] => rating=1
)
empty

发生错误:我正在通过ajax请求将数据发送到php。在那里,它检查接收到一个空的或非空的GET,并且对于每个选项,它都返回不同的答案。 ...

php jquery ajax get ajaxform
1个回答
0
投票
© www.soinside.com 2019 - 2024. All rights reserved.