加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – XMLHttpRequest在IE9中返回始终未定义

发布时间:2020-12-13 17:24:27 所属栏目:PHP教程 来源:网络整理
导读:我想知道这个代码在firefox,chrome和IE10上运行的原因是什么,但不是在IE9中 var ajaxReq = new XMLHttpRequest();var params = "name="+$('#name').val()var url = "register.php";ajaxReq.open("POST",url,true); ajaxReq.setRequestHeader("Content-type",
我想知道这个代码在firefox,chrome和IE10上运行的原因是什么,但不是在IE9中

var ajaxReq = new XMLHttpRequest();
var params = "name="+$('#name').val()
var url = "register.php";

ajaxReq.open("POST",url,true);                               

ajaxReq.setRequestHeader("Content-type","application/x-www-form-urlencoded");    
ajaxReq.setRequestHeader("Content-length",params.length);
ajaxReq.setRequestHeader("Connection","close"); 

ajaxReq.onreadystatechange = function(){
 if(ajaxReq.readyState == 4 && ajaxReq.status == 200) 
{alert(ajaxReq.response)} //<---this results undefined

 }

包含在php文件中的代码本身并不重要,因为为了做一些证明我租用它非常小:

header('Content-Type: text/json');
echo 'response';
exit;

解决方法

而不是.response,它应该是.responseText或.responseXML – 参见 HTTP response.在你的情况下,我假设改为alert(ajaxReq.responseText);会解决它.

response不是XMLHttpRequest对象的属性,这就是JavaScript引擎抛出未定义错误的原因.

从上述文件:

responseText will contain the response of the server in plain text by a conforming user agent

因此,除了XML(包括JSON)之外,使用responseText来处理纯文本中的所有内容,因为它是纯文本格式.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读