【发布时间】:2011-04-12 10:01:18
【问题描述】:
我正在寻找构建一个跨站点书签,它可以获取突出显示的单词,将其传递给 CodeIgniter 方法 (domain.com/controller/method),然后通过字典返回定义API。我有一个框架在单个域上运行良好,但我希望将其扩展为使用 JSONP 跨域。但我感觉不清楚。
我知道我需要从远程位置加载脚本并将其注入当前上下文。而且我相信我需要在页面上获取突出显示的单词,然后调用类似于 domain.com/controller/method/word 的 URL 来获取该脚本。然后就起雾了。
我想我基本上有两个问题:
- 在哪里包含必要的 javascript 以通过 XMLHTTPRequest 处理单词的解析和传递?我认为这将是我将在新上下文中注入的脚本的 SRC。这是否在我的相关 CodeIgniter 方法中?或者这个新脚本是否来自与相关方法相同的服务器上的随机位置并简单地调用它?
答案: 这不是对 XMLHTTPRequest 的补充,而是取而代之,所以完全去掉了这一步。新脚本调用该方法,通过查询字符串传递必要的信息,并接收 JSON 数组作为响应。
- 我是否正确理解我最终会将来自该方法的 JSON 响应以
word(json_encode($array));的形式传回?
回答:是的,我会将其作为callbackFunctionName(json_encode($array)); 传回。
- 是否需要设置标题as done here?
更新
我在上面的三个答案中包含了两个答案。如果有人可以彻底解释事情,我当然会将他们的答案标记为正确,否则我会在答案中详细说明我的绊脚石。我仍然不知道在哪里我在 JS 中编写回调函数以及我将用它做什么。
非常感谢您对此提供的任何帮助。
【问题讨论】:
标签: javascript json jsonp bookmarklet