0

我正在尝试使用返回 JSON 但遇到一些麻烦的 Clipped API ( http://clipped.me/api.html )。我正在使用 getJSON,在 Chrome 的 JS 控制台中,我收到以下错误消息:

资源解释为脚本,但使用 MIME 类型 text/html 传输:“ http://clipped.me/algorithm/clippedapi.php?url=callback=jQuery1910859611126 ...emo-day-2013-still-looking-for-the-next- airbnb 或投递箱/&_=1364420105379”。

未捕获的 SyntaxError:意外的标识符

请求失败:解析器错误,错误:未调用 jQuery19108596111265942454_1364420105378

这是我的 JS:

var clippedAPI = "http://clipped.me/algorithm/clippedapi.php?url=[URL]callback=?";
    $.getJSON(clippedAPI, "http://pandodaily.com/2013/03/26/y-combinator-demo-day-2013-still-looking-for-the-next-airbnb-or-dropbox/" ).done(function(json) {
            console.log("JSON Data: " + json.title );
    }).fail(function(jqxhr, textStatus, error){
            var err = textStatus + ', ' + error;
            console.log("Request Failed: " + err);
    });

这是我第一次尝试使用 API 或 JSON 制作东西,所以我真的不知道该怎么做。我试过谷歌搜索,但找不到任何东西。我实际发送的数据被我添加 callback=? 时出现的这个 jQuery 通知切断了。

4

1 回答 1

2

您的参数不会简单地“猜测” [URL] 参数是什么。试试这个:

var clippedAPI = "http://clipped.me/algorithm/clippedapi.php";
$.ajax({
url: clippedAPI,
type: "GET",
dataType: "JSONP",
data: {
url: "http://pandodaily.com/2013/03/26/y-combinator-demo-day-2013-still-looking-for- the-next-airbnb-or-dropbox/"}
}).done(function(json) {
        console.log("JSON Data: " + json.title );
}).fail(function(jqxhr, textStatus, error){
        var err = textStatus + ', ' + error;
        console.log("Request Failed: " + err);
});

但是,即使这样也失败了,因为您的 API 端点似乎不理解/支持 JSONP 并且不提供Access-Control-Allow-Origin标头。因此,您有两种选择:

  • 您可以在本地反向代理 API 以解决跨域问题并通过标准 JSON
  • 你可以……嗯……获得更好的 API?向开发人员提交一张票以对其进行分类。
于 2013-03-27T21:51:41.877 回答