jQuery $.ajax 在 Safari 中去除 JSON 对象属性

jQuery $.ajax stripping out JSON object properties in Safari

本文关键字:JSON 对象 属性 ajax Safari jQuery      更新时间:2023-09-26

我使用以下代码:

$.ajax( {
    url: "http://www.earthquakescanada.nrcan.gc.ca/api/earthquakes/latest/7d.json",
    dataType: 'json',       
    success: successHandler
} );
var successHandler = function ( data ) {
    console.log( data );
}

出于某种原因,并且仅在 Safari 中,返回对象的"位置"属性被去除。谁能解释为什么并提出解决方案?

这不是jQuery$.ajax的问题,而是您尝试获取的json资源具有一种用户代理控制器。

尝试在Chrome中打开网址,然后在Safari中,您将看到来自同一网址的两个不同的json文件 http://www.earthquakescanada.nrcan.gc.ca/api/earthquakes/latest/7d.json

您也可以

尝试使用 $.getJSON(...) 而不是 $.ajax(...) ,因为这将使您在 data 变量中获得解析的 json 对象