JSON parseError-以字符串形式获取JSON

JSON parseError - get json as string

本文关键字:JSON 获取 字符串 parseError-      更新时间:2023-09-26

我试图从服务中获取json数据,但当我使用数据类型为"JSONP"的$.ajax:时,会得到parseError

$.ajax({
    url: url,
    dataType: 'JSONP'
})
.error(function(XMLHttpRequest, textStatus, errorThrown) { ... })
.done(function(data) { ... });

如果我尝试使用除"JSONP"以外的其他数据类型,它将返回404错误。

我怎么能只得到一个字符串而不是解析json呢?我相信json中有一些换行符会导致解析错误。

这是小提琴http://jsfiddle.net/FSEZQ/3/

这是JSON,而不是JSONP。

例如,这是JSON:

{"key": "value"}

这是JSONP:

callback({"key": "value"})

如果服务不提供JSONP,浏览器会阻止您获取它(同源安全限制)。

人们绕过同源限制的方式包括一些服务器利用率。您可以用PHP编写正确的代码,也可以使用AnyOrigin之类的服务。

这里有一个AnyOrigin示例。

$.getJSON('http://anyorigin.com/get?url=metservice.com/publicData/tides2MonthAuckland&callback=?', function (data) {
    $('#result1').html(JSON.stringify(data.contents));
}).fail(function (XMLHttpRequest, textStatus, errorThrown) {
    $("#result2").html(textStatus);
});

和一把伴奏小提琴。

下面是一个示例,展示了如何使用这些数据。