对话API允许您以编程方式检索和提交Bazaarvoice对话数据以在应用程序中使用。要了解更多信息,请参阅对话API文档主页

内容

+显示 ——隐藏

本教程解释了开发人员如何使用JavaScript Object Notation with Padding (JSONP)向对话API发出跨域GET请求。

概述

JSONP是一种返回数据的技术,它可以绕过类所施加的限制同源策略.它依赖于这样一个事实< >脚本标签不受同源策略的约束。当使用JSONP请求数据时,它以JSON对象的文本表示形式返回,并使用JavaScript函数名进行包装(或“填充”)。

当一个< >脚本标签处理JSONP响应,JSON对象被视为参数,如果该函数已经在页面上定义,则立即执行该函数,使该函数可以访问JSON对象。

带有对话API的JSONP

名字 描述 要求
回调 Value为字符串,由以下字符组成:a-z, a-z, 0- 9,_,。
(不含逗号)。
没有

要使用对话API执行返回JSONP的请求,请添加回调参数,其值是JSONP处理函数的名称:

仅供演示用途。不要在应用程序中重用下面的API密码。

http://stg.api.bazaarvoice.com/data/reviews.json?apiversion=5.4&passkey=kuy3zj9pr3n7i0wxajrzj04xo&callback=JSONPHandler

对上述请求的响应如下所示:

JSONPHandler({"包括":{},“HasErrors”:假的,“抵消”:0,“TotalResults”:808年,“语言环境”:“en_US…});

当一个< >脚本标签处理此响应,则JSON对象被视为JSONPHandler()的参数,JSONPHandler()将立即执行,使其能够访问JSON对象。下面的例子会更清楚地说明这一点:

例子

这些示例演示了如何使用对话API和JSONP执行跨域请求和处理响应

纯JavaScript

要使用对话API执行返回JSONP的请求,请添加回调=参数,其值是JSONP处理函数的名称

<!doctype html>     Bazaarvoice Conversations API with JSONP
    < script src="//www.busanline.com/stg.api/data/reviews.json?apiversion=5.4&passkey=kuy3zj9pr3n7i0wxajrzj04xo&callback=JSONPHandler">   .

jQuery

jQuery通过抽象出创建脚本标记和JSONP处理函数的细节,简化了这个过程。当一个美元。getJSON (URL,函数)执行的URL包含回调= ?JQuery将透明地创建脚本标记和处理函数。脚本标记使用URL作为其src属性,并且使用作为第二个参数传递的函数创建处理程序。

<!doctype html>    The Bazaarvoice Conversations API with JSONP
      

了解关于$.getJSON()的更多信息,请访问http://api.jquery.com/jQuery.getJSON/