Javascript AJAX调用响应状态200 OK,但调用了错误回调
我打这个电话:Javascript AJAX调用响应状态200 OK,但调用了错误回调,javascript,ajax,Javascript,Ajax,我打这个电话: $.ajax({ type: 'GET', cache: false, timeout: 20000, async: true, url: "http://search.carrotsearch.com/carrot2-webapp/search", dataType: 'text', data: { query:'london', results:'100', source
$.ajax({
type: 'GET',
cache: false,
timeout: 20000,
async: true,
url: "http://search.carrotsearch.com/carrot2-webapp/search",
dataType: 'text',
data: {
query:'london',
results:'100',
source:'etools',
algorithm:'lingo3g',
view:'folders',
skin:'fancy-compact',
type:'DOCUMENTS'
},
success: function(msg) {
debugger;
},
error: function(err,textStatus, errorThrown){
debugger;
}
});
`
Fiddler显示response OK 200并返回正确的gzip内容。但在浏览器调试器中,错误回调被称为:
有个问题<代码>http://search.carrotsearch.com/不允许AJAX请求
在控制台中查找以下错误
请求的服务器上不存在“Access Control Allow Origin”标头
资源。因此,不允许使用源“”
进入
可能是我的localhost
未列在http://search.carrotsearch.com/
服务器。但是,我想你的情况也是这样。有问题<代码>http://search.carrotsearch.com/不允许AJAX请求
在控制台中查找以下错误
请求的服务器上不存在“Access Control Allow Origin”标头
资源。因此,不允许使用源“”
进入
可能是我的
localhost
未列在http://search.carrotsearch.com/
服务器。但是,我想在您的情况下,这也是问题所在。浏览器调试工具的整个响应是什么?浏览器的调试控制台上是否也有任何错误消息?请尝试将查询变量名称更改为其他名称,并尝试一下20000
超时原因?o、 Otimeout与此无关,有/没有它都存在问题。David,浏览器控制台确实给出提示:加载失败:请求的资源上不存在“Access Control Allow Origin”头。因此不允许访问源“”。浏览器调试工具中的整个响应是什么?浏览器的调试控制台上是否也有任何错误消息?请尝试将查询变量名称更改为其他名称,并尝试一下20000
超时原因?o、 Otimeout与此无关,有/没有它都存在问题。David,浏览器控制台确实给出提示:加载失败:请求的资源上不存在“Access Control Allow Origin”头。因此,不允许对源“”进行访问。看起来此错误很有名。我需要如何更改上面的代码才能使其正常工作?很明显,数据是从search.carrotsearch.com返回的,正如我在fiddler中看到的响应一样。您不能在前端执行任何操作。但是您可以在nodejs/php或任何其他框架中创建一个启用了CORS的backend作为此调用的包装器。然后从AJAX
,调用启用了CORS
的后端。看看这个,看起来这个错误很有名。我需要如何更改上面的代码才能使其正常工作?很明显,数据是从search.carrotsearch.com返回的,正如我在fiddler中看到的响应一样。您不能在前端执行任何操作。但是您可以在nodejs/php或任何其他框架中创建一个启用了CORS的backend作为此调用的包装器。然后从AJAX
,调用启用了CORS
的后端