【发布时间】:2011-10-24 11:57:48
【问题描述】:
我正在尝试做一个 ajax 请求
$.ajax({
type: "post",
url: "download.php",
error: function(data, status, err){
alert(JSON.stringify(data));
},
data: "fileid="+fileid
});
此请求提醒 "{"readyState":0,"responseText":"","status":0,"statusText":"error"}"
我在谷歌上搜索过所有我想出的是一个跨站点 ajax 调用(这显然不是)
我试过把完整的网址放进去,它做同样的事情。
我唯一能想到的是标题,我不知道它会有什么问题。这是来自 firebug 的请求标头
Host www.mydomain.com
User-Agent Mozilla/5.0 (Windows NT 6.1; rv:5.0) Gecko/20100101 Firefox/5.0
Accept */*
Accept-Language en-us,en;q=0.5
Accept-Encoding gzip, deflate
Accept-Charset ISO-8859-1,utf-8;q=0.7,*;q=0.7
Connection keep-alive
Content-Type application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With XMLHttpRequest
Referer http://www.mydomain.com/
Content-Length 8
Cookie PHPSESSID=27b7d3890b82345a4fc9604808acd928
我在另一个页面上添加了另一个请求,它工作得很好,但是这个总是失败另一个请求的标题是:
Host www.mydomain.com
User-Agent Mozilla/5.0 (Windows NT 6.1; rv:5.0) Gecko/20100101 Firefox/5.0
Accept text/plain, */*; q=0.01
Accept-Language en-us,en;q=0.5
Accept-Encoding gzip, deflate
Accept-Charset ISO-8859-1,utf-8;q=0.7,*;q=0.7
Connection keep-alive
Content-Type application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With XMLHttpRequest
Referer http://www.mydomain.com/differentpage.php
Content-Length 33
Cookie PHPSESSID=27b7d3890b82345a4fc9604808acd928
【问题讨论】:
-
你为什么不检查
err? Firebug 告诉您有关请求和响应的哪些信息? -
当你将伪造的表单提交到具有相同数据的同一页面时,会发生什么?
-
err 是一个空白字符串,是的,一个假表单可以正常工作,但这个 ajax 仍然不起作用
-
双“”呢? ,"responseText":"",
-
这真的很奇怪,我认为这只是该脚本所在文件夹中的某些内容,因为我将完全相同的代码复制到了不同文件夹中的页面上,它工作正常吗?谁有线索?!