【发布时间】:2010-12-28 07:57:19
【问题描述】:
我的网页中有以下 javascript:
var xhr = new XMLHttpRequest();
xhr.open('GET', 'http://www.google.com', true);
xhr.onreadystatechange = function() {
if (xhr.readyState == 4) {
alert('resp received, status:' + xhr.status + ', responseText: ' + xhr.responseText);
}
};
xhr.send(null);
这将执行并完成,readyState 为 4,状态为 0,responseText 和 responseXML 为空。我知道它实际上是在发送请求 b/c 我尝试将 xhr 发送到我机器上的服务器,而服务器实际上确实响应了。为什么我在 responseText 中没有得到任何东西? xhr 将转到不同的服务器这一事实是否与此有关?
当我打开 js 调试器并输入“xhr”来检查对象时,我得到了这个:
XMLHttpRequest
完成:4
HEADERS_RECEIVED:2
正在加载:3
已开业:1
未发送:0
中止:函数中止(){
addEventListener: 函数 addEventListener() {
dispatchEvent: 函数 dispatchEvent() {
getAllResponseHeaders: 函数 getAllResponseHeaders() {
getResponseHeader: 函数 getResponseHeader() {
onabort:空
错误:空
加载:空
onloadstart:空
进度:空
onreadystatechange: 函数 () {
打开:函数打开(){
overrideMimeType: 函数 overrideMimeType() {
就绪状态:4
removeEventListener: 函数 removeEventListener() {
响应文本:“”
响应XML:空
发送:函数发送(){
setRequestHeader: 函数 setRequestHeader() {
状态:0
状态文本:“”
上传:XMLHttpRequestUpload
withCredentials: false
【问题讨论】:
标签: javascript ajax