JSONP如何检索文本

时间:2010-03-23 12:57:57

标签: jquery jsonp

我理解 JSON / JSONP的作用,但我不是程序员,也不知道如何提取简单使用的基础知识。我已经阅读了很多关于JSONP和JSONP各种用法的大量例子,但我还没有找到一个从另一个页面检索文本的简单示例(例如http://www.domain.com/external/text.aspx)。

有人可以举一个jQuery / JSONP设置示例来检索文本到div吗? 我认为这是JSONP的一个非常基本的用途。

1 个答案:

答案 0 :(得分:13)

首先,了解为了使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."})