本文介绍了jQuery的AJAX状态" 200确定] ;,但没有数据响应的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

jQuery的:

$.ajax({
url : url,
type : 'GET',
dataType: 'json',
data: {
    'FN'    : 'GetPages',
    'PIN'   : '7659'
},
xhrFields: {
   withCredentials: true
},
crossDomain: true,
success: function(data) {
    alert('succsess');
    console.log('data', data);
},
error: function (xhr, ajaxOptions, thrownError) {
    alert('error');
    console.log(xhr.status);
    console.log(thrownError);
}
});

萤火虫的Firefox网络

会发生什么

AJAX的错误:事件被触发,我的的console.log 的输出是:

The AJAX "error:" event gets triggered and my console.log outputs are:

xhr.status - > 0

thrownError - >(空字符串)

thrownError -> (empty String)

这是正常的吗?当我在浏览器中键入URL我收到了文件下载与它的JSON的内容,这不应该是一个问题吗?

推荐答案

感谢@CrimsonChin我知道它是一种同源策略问题

在计算中,同源策略是一个重要的安全理念  对于一些浏览器端的编程语言,如  JavaScript的。上发起的网页上运行的政策允许脚本  来自同一站点相互访问的方法和属性与  没有特别的限制,但prevents获得大多数方法和  跨不同网站上的网页属性。[1]

(从http://en.wikipedia.org/wiki/Same_origin_policy)

授予的JavaScript客户端基本访问你的资源,只需要添加一个HTTP响应头,即:

Granting JavaScript clients basic access to your resources simply requires adding one HTTP response header, namely:

Access-Control-Allow-Origin: *
Access-Control-Allow-Origin: http://foo.example.com

(从 http://enable-cors.org/

OFC,把JSON响应到 JSONP 的响应也将工作。 THX @djakapm

Ofc, turning the JSON response into a JSONP response would also work. Thx @djakapm

这篇关于jQuery的AJAX状态" 200确定] ;,但没有数据响应的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-05 18:56