Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/455.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 jquery$.ajaxget将通过http获取文件,但在与服务器直接对话时失败,X请求-设置不正确?_Javascript_Jquery_Ajax - Fatal编程技术网

Javascript jquery$.ajaxget将通过http获取文件,但在与服务器直接对话时失败,X请求-设置不正确?

Javascript jquery$.ajaxget将通过http获取文件,但在与服务器直接对话时失败,X请求-设置不正确?,javascript,jquery,ajax,Javascript,Jquery,Ajax,我很难让jquery(1.6.1)与本地服务器(在同一台机器上)对话,即使就我所知,服务器正在生成的内容看起来是正确的 作为测试,我将服务器输出放在一个文件中,并访问它,它可以工作: 变量url=”http://localhost/web-from-hols/viz/library/test4.json" 但是。。。将url直接指向本地服务器,它将失败,状态为0 嗅探http头,我看到以下调用和响应,用于工作 对于非工作人员,我看到: 我能看到的唯一真正的区别是工作请求包括 非工作状态中缺少,但

我很难让jquery(1.6.1)与本地服务器(在同一台机器上)对话,即使就我所知,服务器正在生成的内容看起来是正确的

作为测试,我将服务器输出放在一个文件中,并访问它,它可以工作:

变量url=”http://localhost/web-from-hols/viz/library/test4.json"

但是。。。将url直接指向本地服务器,它将失败,状态为0

嗅探http头,我看到以下调用和响应,用于工作

对于非工作人员,我看到:

我能看到的唯一真正的区别是工作请求包括

非工作状态中缺少,但非工作状态中增加了:

我试着在代码中添加这个

但这似乎没有帮助,反而增加了一条线

X-request-With:XMLHttpRequest

相反,我看到添加了以下内容

坦率地说,我不明白发生了什么,我读到jquery在发出请求时有时会忽略“X-request-With:XMLHttpRequest”值,或者这可能是一个跨站点的问题,可能-(


这个问题已经困扰了我们两人一天了,非常感谢您的帮助。

您无法向另一个域发送正常的AJAX请求(即使该域解析到同一台机器上)或其他端口。Firefox正在尝试发送请求,但在您的服务器未返回表示您允许CORS请求的标头(例如
访问控制允许源代码:
)后停止发送请求.

地址栏中的url是什么?127.0.0.1还是localhost?听起来您遇到了一个问题,
127.0.0.1
localhost
不同。您应该先尝试访问url
http://127.0.0.1:8080/EP1186609
直接在您的浏览器中。在浏览器中直接使用url可以正常工作,返回的结果正确无误t json content.thank you,在返回头中添加访问控制允许源代码:*确实解决了这一问题。我担心这会带来安全隐患,我不理解这一点。根据AJAX调用的作用,它可能会创建CSRF漏洞。您可以编写域名,而不是
*
,这是合理的安全。请记住,尽管CORS是一项相对较新的功能,但浏览器支持不均衡(具体来说,IE和Opera的支持非常弱-).hmm服务器不知道请求将来自哪个域,因此它无法在标头中指定它,而不是*在加号端,服务器代码仅接受一个非常有限的输入。不知道这是否足够。
$.ajax({
        url: url,
        dataType: "json",
        cache: false,
        type: 'GET',
        error: that.searchError,
        success: that.searchSuccess,
        complete: function(){dom.find('#loadingImg').hide();dom.find('.button').show();searching=false;}
            })
var url = "http://127.0.0.1:8080/"+key
http://localhost/web-from-hols/viz/library/test4.json?_=1333363765977

GET /web-from-hols/viz/library/test4.json?_=1333363765977 HTTP/1.1 Host: localhost User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:11.0) Gecko/20100101 Firefox/11.0 Accept: application/json, text/javascript, */*; q=0.01 Accept-Language: en-us,en;q=0.5 Accept-Encoding: gzip, deflate DNT: 1 Connection: keep-alive X-Requested-With: XMLHttpRequest Referer: http://localhost/web-from-hols/viz/viz.html


HTTP/1.1 200 OK Date: Mon, 02 Apr 2012 10:49:25 GMT Server: Apache/2.2.20 (Ubuntu) Last-Modified: Mon, 02 Apr 2012 02:28:15 GMT Etag: "42e020c-137f-4bca8f1467744" Accept-Ranges: bytes Content-Length: 4991 Keep-Alive: timeout=5, max=100 Connection: Keep-Alive Content-Type: application/json
http://127.0.0.1:8080/EP1186609?_=1333370799152

GET /EP1186609?_=1333370799152 HTTP/1.1
Host: 127.0.0.1:8080
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:11.0) Gecko/20100101 Firefox/11.0
Accept: application/json, text/javascript, */*; q=0.01
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip, deflate
DNT: 1
Connection: keep-alive
Referer: http://localhost/web-from-hols/viz/viz.html
Origin: http://localhost


HTTP/1.1 200 OK
Date: Mon, 02 Apr 2012 02:33:43 GMT
Server: Apache/2.2.20 (Ubuntu)
Last-Modified: Mon, 02 Apr 2012 02:28:15 GMT
Etag: "42e020c-137f-4bca8f1467744"
Accept-Ranges: bytes
Content-Length: 4991
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: application/json
X-Requested-With: XMLHttpRequest
Origin: http://localhost
 $.ajaxSetup({ 
      headers: {"X-Requested-With":"XMLHttpRequest"} 
    }); 
Access-Control-Request-Method: GET
Access-Control-Request-Headers: x-requested-with