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引擎抛出未定义错误的原因. 从上述文件:
因此,除了XML(包括JSON)之外,使用responseText来处理纯文本中的所有内容,因为它是纯文本格式. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |