等级:初学者
大家好,
我对JSON世界很陌生,我有一种困惑 我正在研究一个API,它声明我可以通过使用JSON的回调函数从服务器获取一些信息。
API文档给出了一个响应,如下例所示:
它说我可以通过向服务器发送请求来获取一些信息:www.myserver.com/id?jsonpCallback=mycallback
此外,它还说请求结构如下:
{
"proto Version" : <String>,
"sVersion" : <String>,
"requestType" : <String>,
"requestData" : <DataModel>
}
,响应结构如下:
{
"protoVersion" : <String>,
"sVersion" : <String>,
"responseType" : <String>,
"responseErrorType" : <String>,
"responseErrorDetail" : <String>,
"responseData" : <DataModel>
}
我的问题如下:
mycallback
参数将在何处
界定?什么可能是起点?我想我需要创造
一个单独的应用程序,为我这样做,但不确定。www.myserver.com/id?jsonpCallback = {“proto Version”:1.2,“sVersion”:3,“requestType”:String,“requestData”:DataModel}
如果有人可以指点我一个好的教程,那就太好了。我计划使用python语言。谢谢你的时间。
答案 0 :(得分:1)
这个mycallback参数将在何处定义?什么可能是起点?我想我需要创建一个单独的应用程序来为我做这个但不确定。
您的客户端JavaScript需要创建一个具有唯一名称的全局函数,该名称接受单个参数(这将是HTTP API返回的数据)。
然后,您将该名称用作网址
中的mycallback
我是否还需要制定我的请求和回复?如果是,那么在哪里?
您可以通过创建script
元素,将其src
设置为API URL(包括您的回调参数)并将其附加到DOM来制作请求
我可以制作如下的请求吗?
没有。 jsonpCallback
必须是函数名称。
此外,它还表示请求结构将为......
该结构对于JSONP请求毫无意义。
通常使用标准查询字符串参数。
http://www.myserver.com/id?jsonpCallback=myhandler13487w8789&protoVersion=1.2&sVersion=3&requestType=String&requestData=DataModel
我计划使用python语言。
然后不要使用JSONP。解决Same Origin Policy是一个浏览器沙箱功能。使用常规JSON。