该问题仅发生在 Mac 版 Safari 上。我正在加载干净的 json 数据文件,其中包含以下内容:
$.ajax({
url : url,
type : 'POST',
dataType : 'json',
contentType : 'application/json; charset=utf-8',
crossdomain: true,
context : contextObj.context,
success : function(data) {
// Irrelevant
callBackHandler.call(contextObj.context, event);
},
error: function (xhr, ajaxOptions, thrownError) {
console.log(xhr.status);
console.log(thrownError);
}
});
我的启用 CORS 的服务器具有以下内容:
Header set Access-Control-Allow-Origin "*"
Header set Access-Control-Allow-Methods "GET, POST, OPTIONS"
Header set Access-Control-Allow-Headers "Content-Type, If-Modified-Since, If-None-Match, *"
Header set Access-Control-Max-Age "3600"
我捕获了请求标头,我看到的唯一区别如下。需要明确的是,失败的请求中包含以下内容,而下一次刷新不包括以下内容。因此向 Access-Control-Allow-Headers 添加了项目:
If-Modified-Since: Fri, 08 Mar 2013 15:57:07 GMT
If-None-Match: "6801d-c550-4d76be008fac0"
这是服务器配置问题、jQuery 使用问题还是其他问题?让我感到奇怪的是,Safari 在每次刷新时都会不断更改标题。