我正在构建和iOS应用程序,并试图从类似于以下url的url获取json数据:
example.com/ajax/u.php?callback=jQuery84054761566_1389381628746
有人熟悉这类回调吗?
obj-c中的典型HTTP请求返回200状态,并使用此url返回一个空响应对象。
发布于 2014-01-11 06:21:23
这是一个使用for...well的JSONP回调,JSONP。JSONP在网页上使用,以避免“同一来源”的限制。也就是说,从某个域(例如abc.com)加载的网页不能在单独的域(例如xyz.com)上调用/访问资源。
他们(web前端开发人员)绕过这一问题的方法是使用<script>标记,它不受此限制。但是,<script>标记的返回将被解析--为了使它执行某件事情,您可以告诉它一个存在于您的JavaScript代码中的函数名,在本例中是jQuery84054761566_1389381628746。
所以,不要返回一个常规的JavaScript对象,比如
{key : 'value'}然后,服务器返回函数调用。
jQuery84054761566_1389381628746({key : 'value'}) 在您的网页JavaScript中,您有一个jQuery84054761566_1389381628746的函数定义,它可以做一些事情:
jQuery84054761566_1389381628746 = function(data){
alert(data.key);
};iOS没有相同的起源/跨站点限制,所以您不需要JSONP -您可以调用任何您想要的服务器。
https://stackoverflow.com/questions/21055878
复制相似问题