首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >跨域jsonp的基本操作方法

问跨域jsonp的基本操作方法
EN

Stack Overflow用户
提问于 2011-03-29 02:19:28
回答 2查看 48K关注 0票数 13

我在这里找遍了所有地方。我只需要一个简单的“如何”拉取jsonp跨域。我使用的是jQuery 1.5.1。

我在另一个网站上的一个程序中尝试了以下内容:

代码语言:javascript
复制
$.getJSON("http://www.mydomain.com/testjson.json?jsoncallback=?", function(data) {
    alert("I'm hitting this.");
}

这根本不起作用。

有没有一种方法可以只做一个简单的跨域jquery JSONP调用?

谢谢

EN

回答 2

Stack Overflow用户

发布于 2011-03-29 21:29:26

JSONP需要服务器的配合才能成功。您不能使用JSONP拉取随机页面并期望它们成功;服务器需要知道:

  1. 它需要制定一个JSONP响应,而不是一个JSON响应。
  2. 它需要知道函数的名称来包装响应。

如果您不确定服务器为什么需要知道这些,或者不确定JSON和JSONP之间有什么区别,那么您应该仔细阅读它们;否则整个事情将毫无意义。对于初学者,请查看Can anyone explain what JSONP is, in layman terms?和http://en.wikipedia.org/wiki/JSONP。

在进一步了解这一点之后,您可能会发现服务器正在返回

代码语言:javascript
复制
{ "key": 1, "bar": "foo" }

(这是有效的JSON),而不是:

代码语言:javascript
复制
someCallback({ "key": 1, "bar": "foo" })

这是一个JSONP响应。

票数 13
EN

Stack Overflow用户

发布于 2014-06-12 18:21:34

如果你一步一步地尝试这些http://terrasus.com/detail.jsp?articleID=396,它会工作得很好。如果您生成jsonp响应,则应该获取回调值并将其动态设置为您的响应。这篇文章有详细的解释

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5463256

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档