Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript AJAX请求响应文本在Chrome中为空?_Javascript_Php_Jquery_Ajax_Google Chrome - Fatal编程技术网

Javascript AJAX请求响应文本在Chrome中为空?

Javascript AJAX请求响应文本在Chrome中为空?,javascript,php,jquery,ajax,google-chrome,Javascript,Php,Jquery,Ajax,Google Chrome,我试图使最简单的AJAX请求成为可能,出于某种原因(出乎意料地)它可以在IE中工作,但不能在Chrome中工作 代码如下: var x = new XMLHttpRequest(); x.open("GET","style.php",true); x.send(); alert(x.responseText); 最后一行只会弹出一个空的“警报”窗口 PHP代码: <?php header("Content-Type: text/plain"); echo "

我试图使最简单的AJAX请求成为可能,出于某种原因(出乎意料地)它可以在IE中工作,但不能在Chrome中工作

代码如下:

var x = new XMLHttpRequest();
x.open("GET","style.php",true);
x.send();
alert(x.responseText); 
最后一行只会弹出一个空的“警报”窗口

PHP代码:

    <?php
     header("Content-Type: text/plain");
     echo "HELLO"; ?>

有人建议我把文本/普通标题放在代码之前,但没有用。Chrome中的JS控制台显示状态为200,接收状态为800B,所以脚本接收到响应,但没有看到


非常感谢您,XMLHttpRequest是一个异步函数

您应该这样做:

var x = new XMLHttpRequest();
x.open("GET","style.php",true);
x.send();
x.onreadystatechange = function(response) {
 alert (response.responseText);
};

因为它是异步的!复制警报的代码并粘贴到下一行,然后重试*头脑发热*
警报(x.responseText);警报(x.responseText)
@KevinB唯一有效的原因是请求完成得很快,因此当您完成对第一个警报单击“确定”时,请求已经完成,响应文本现在可用。但是,您并不希望您的代码依赖于方便的计时。谢谢,但我得到了“未定义”的响应。无法找出原因。@user3104270我也有同样的问题,不知道如何解决:(几乎但不完全如此。当readyState发生更改时,onreadystatechange处理程序将被多次调用-仅当
this.readyState==4
请求完成时。此外,处理程序的第一个参数不是响应,而是事件-您应该参考
this
,这将是XMLHttpRequest实例把它们放在一起,处理程序函数应该类似于
function(){if(this.readyState==4){alert(this.responseText);}}