我有 2 个不同的项目,其中 Web 应用程序需要访问服务器端的一些 Rest API。因此,我在服务器端使用 JacksonMapper 设置 Spring MVC Rest API,在客户端使用 Jquery.ajax() 设置 JSONP 请求,效果很好。
但是,我发现 Safari(版本 6.0.5)完美地显示了带有 GET 请求和 contenType“json”(在没有回调的 Rest API 上)的 JSON 响应,而所有其他浏览器都失败了。只是出于好奇,有人可以解释一下这是怎么可能的吗?
这是请求:
$.ajax({
type: "GET",
dataType: "json",
url: url,
data: {
origin: start.toUrlValue(6),
destination: dest.toUrlValue(6)
},
success: function (data) {
console.log(data);
var res = JSON.stringify(data); //json to string
$('#result').text(res);
},
error : function(jqXHR, textStatus, errorThrown) {
alert("Request failed: " + textStatus);
console.log(JSON.stringify(jqXHR));
},
});
更新 以清除问题。请求到达 API,我可以看到,服务器正在执行工作并发送 JSON 响应。我只是无法在任何其他浏览器中处理响应。