HTTPRequest到php没有在firefox中返回任何值

时间:2017-11-16 09:55:44

标签: javascript php

我有一个不使用firefox运行的HTTPRequest,它确实在google chrome上运行,因为它返回了我为测试而编写的警报。

var htpr = new XMLHttpRequest();
  var url = "../something.php";
  var val = "pro_ID="+prod_id+"&quan="+quan;
  alert("test ajx");
  htpr.open("POST", url, true);
  htpr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  htpr.onreadystatechange = function(){
    if(htpr.readyState == 4 && htpr.status == 200){
        var dt = htpr.responseText;
        alert(dt);
    }
 }
 htpr.send(val);
}



if(isset($_POST['pro_ID'])) {       
    echo "Test";

}
echo "test wrong";

找到更新的问题!

我发现了错误,因为我在html表单中触发了ajax函数我相信表单中的默认刷新函数是在执行ajax之前刷新页面,我现在设置表单以防止其默认函数" event.preventDefault()&#34 ;.它似乎已经修复了。真的很奇怪!从没想过会有问题

1 个答案:

答案 0 :(得分:0)

下:

htpr.onreadystatechange = function(){

添加:

console.log(htpr);

也许它会告诉你为什么答案没有通过'代码200,状态4'测试。

您还可以在Firefox中查看“网络”标签。当XHR在Chrome中返回代码4xx或5xx时,它会在控制台中显示有关它的信息。在Firefox中没有关于XHR请求问题的信息 - 您必须在网络中检查它(有问题的请求是红色的)。