【发布时间】:2011-01-30 19:06:33
【问题描述】:
我确实了解 JSON/JSONP 的什么,但我不是程序员,也不知道如何提取简单的基础知识以供简单使用。我已经阅读了很多关于 JSONP 的内容和很多关于 JSONP 各种用法的示例,但是我还没有找到一个从另一个页面检索文本的简单示例(例如 @987654321@)。
有人可以举一个 jQuery/JSONP 设置的示例,用于将文本检索到 div 中吗? 我认为这是 JSONP 的一个非常基本的用法。
【问题讨论】:
我确实了解 JSON/JSONP 的什么,但我不是程序员,也不知道如何提取简单的基础知识以供简单使用。我已经阅读了很多关于 JSONP 的内容和很多关于 JSONP 各种用法的示例,但是我还没有找到一个从另一个页面检索文本的简单示例(例如 @987654321@)。
有人可以举一个 jQuery/JSONP 设置的示例,用于将文本检索到 div 中吗? 我认为这是 JSONP 的一个非常基本的用法。
【问题讨论】:
首先,重要的是要了解,要使 JSONP 工作,服务器必须知道它将与 JSONP 请求联系。换句话说,你不能只是向某个随机服务器发出请求,并期望它在服务器没有正确准备的情况下工作。
如果您知道一个服务器的 URL 旨在接受和响应 JSONP 请求,那么它将返回给您的是一个封装在函数调用中的 JSON 表达式。您的页面将包含该函数,因此当服务器返回结果时,浏览器将解释 JSON 表达式,然后调用该函数。
因此,如果您想创建一个返回漂亮文本块的服务,您将像这样调用该服务:
$.getJSON("http://www.domain.com/external/text.aspx?callback=", function(data) {
$('#targetDiv').text(data.text);
});
jQuery 代码将准备好一切,以便告诉服务器(通过 HTTP 请求中名为“jsonp”的参数)要调用的函数的名称(jQuery 本身将为您构建该函数)。服务器应该这样响应:
jqueryFunctionName({text: "This is a nice block of text."})
【讨论】: