首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CodeIgniter和Bookmarklet

CodeIgniter和Bookmarklet
EN

Stack Overflow用户
提问于 2010-12-13 13:26:52
回答 1查看 723关注 0票数 0

我正在使用CodeIgniter和JavaScript/jQuery构建一个书签应用程序。现在,我的CI应用程序只是向书签脚本返回一个JSON编码的数组,但显然jQuery不能使用它,因为这不是JSONP/跨域策略问题。

如何让我的CodeIgniter函数返回JSONP结果?我对JSONP不是很了解,所以请原谅我的无知。

EN

回答 1

Stack Overflow用户

发布于 2010-12-13 20:09:53

据我所知,JSONP只是从URL加载脚本,而不是创建XHR。URL将返回javasript,而不是返回json/xml/纯文本。返回的javascript将只是调用一个全局函数,并传递JSON数据。jQuery很方便地在JSONP请求之前创建了这个全局函数,并在JSONP请求中将其标识符作为“回调”发送。

简单地说,您必须访问$_GET'callback',它包含回调函数的名称。例如:

代码语言:javascript
复制
<?php echo $_GET['callback']."(".json_encode($arrayJSONData).")"; ?>

这将返回javascript,该javascript调用全局javascript函数,并将json数据传递给它。

请记住,这不是XHR/Ajax,而是动态地附加一个新的DOM脚本元素,您不能发布数据,因此没有$_POST。在HTML中创建脚本元素时,如何发送POST数据?它是只能传递GET数据:<script src='someurl.php?this=getdatastuff'></script>

我想这就是它的工作原理。xb

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

https://stackoverflow.com/questions/4426042

复制
相关文章

相似问题

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