Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.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 Can';不要使用ajax发出get请求_Javascript_Ajax_Jquery - Fatal编程技术网

Javascript Can';不要使用ajax发出get请求

Javascript Can';不要使用ajax发出get请求,javascript,ajax,jquery,Javascript,Ajax,Jquery,以下是错误消息: XMLHttpRequest无法加载(url1)。访问控制不允许原点允许原点 代码如下: $.ajax({ url: (the url2), async : false, data: { fbId : eh, fbSecret : meh, key : bleh }, datatype: "json", success: function(result)

以下是错误消息: XMLHttpRequest无法加载(url1)。访问控制不允许原点允许原点

代码如下:

$.ajax({
    url: (the url2),
    async : false,
    data: { fbId     : eh,
            fbSecret : meh,
            key      : bleh
          },
    datatype: "json",
    success: function(result){
                 console.log(result);
             }
});
我知道url是正确的,因为当我点击它时,它会提供我需要的数据,就像{“name”:[“blah”]}

我需要提供更多的细节吗


我尝试过各种方法,比如使用jsonp/html而不是json,将数据直接放入url而不是单独作为数据,使用$.get而不是$.ajax,以及编辑$.ajax设置……

错误消息说明了一切,您无法进行跨域ajax请求(jsonp例外,但也必须由服务器支持),原因是


这可能会对您有所帮助。

端口不匹配;)尝试建立请求的页面必须位于同一端口;)

我认为您试图访问的服务器与提供脚本的服务器不同——服务器a提供的页面中的JavaScript代码只能使用XmlHttpRequest访问服务器a


如果这是一个问题,则没有简单的解决方案-您必须使用代理或完全避免XmlHttpRequest。

同源策略是一种浏览器安全措施,它限制JavaScript代码与来自其他网站的资源(即从任何其他域和/或端口加载的资源)对话。在上的网页中运行的JS无法与从加载的数据交互,甚至无法与加载的数据交互

围绕SOP工作 a) 服务器中的代理:在应用程序中创建一个端点,该端点与外部url对话并返回结果

b) 将JSON响应加载到
标记中,否则加载jsonp,即带有填充的JSON

例如:

在您的情况下,由于您是在另一个端口上运行它,因此它是无效的,因此浏览器会引发错误

同时还有一些服务器端的更改。。请阅读如何为您的脚本语言执行此操作

基本上,响应应该是这样的:

jsonCallback({"Name": "Random", "Id" : 2432, "Rank": 453})

使用
数据类型:“JSONP”
克服您遇到的限制;请检查以正确执行。您还必须为它提供回调函数。

出于安全原因,不允许向其他域发送AJAX请求。谷歌应该告诉你……嗯,我有什么办法可以覆盖它吗?
:)
不,你不能覆盖它,但你可以制作一个服务器端代理来访问这个服务,然后你可以向你的服务器代理发出一个ajax请求,它将返回json响应。。或者可以将json与padding一起使用;)我真的不知道你所说的“jsonp情况下的异常,但这也必须得到服务器的支持”是什么意思。@Walialu jsonp是带填充的json,但你只能在服务器支持的情况下使用它it@3nigma我不明白你的意思,我在几个不同的web项目上多次使用jsonp,我不需要为此设置或修改一些笨拙的mod/config文件。。你可以在这里看到:
jsonCallback({"Name": "Random", "Id" : 2432, "Rank": 453})