【发布时间】:2012-12-24 22:29:54
【问题描述】:
我正在尝试从 http://www.ikea.com/us/en/catalog/products/10176292 获取一些文本 使用 jsonp。
为了测试它是否有效,这就是我所做的
$.getJSON("http://www.ikea.com/us/en/catalog/products/10176292?format=json&jsoncallback=?",function(data) {
$('h1').text(data.modified);
});
这不起作用,因此它可能无效,但我在 google 上找到的所有 jsonp 文档都使用 twitter 或 flickr API 作为示例。我很确定宜家没有 API,所以这些方法对我没有帮助。
但这确实有效并从 flickr 返回文本
$.getJSON("http://api.flickr.com/services/feeds/photos_public.gne?id=25053835@N03&format=json&jsoncallback=?",function(data) {
$('h1').text(data.title);
});
我正在尝试这个,因为我看到了这个示例http://www.foxycart.com/whos-using-foxy/case-studies/modernash,它似乎可以与 jsonp 从 ikea 获取文本数据一起使用。我不需要任何复杂的东西,只需要能够检索一些简单的文本。
有人可以指点我正确的方向或提供一些提示吗?
谢谢
【问题讨论】:
-
That URL doesn't return JSON,更不用说 JSONP了。您不能只是神奇地附加一些查询参数并期望返回 JSON(P);服务器必须实际支持它。
-
我试过了,URL 本身给出了
301 Moved Permanently并重定向到 HTML 的页面。它也不会发送任何CORS headers,所以你会点击same origin policy。 -
我有点猜想它不会像那样工作,但我很好奇你们认为这个开发人员是如何做到的?我正在尝试这个,因为我看到了他的例子,他可以使用他的书签购物车从宜家使用 JSONP 提取数据并使用它foxycart.com/whos-using-foxy/case-studies/modernash
-
其实我找到了the cross domain info。无论如何,我看不到对宜家本身的任何要求。看起来服务器端发生了一些事情(可能是 curl、解析、返回 JSON),然后正常获取数据。
标签: javascript jquery json jsonp