服务端
返回形式有两种:
一:固定函数名:guding({test:'测试'})
二:动态函数名由客户端生成,服务端获取jsonCallback值即可,如:request.querystring("jsonCallback")+"({test:'测试'})"
客户端实现
一:
$.ajax({
type : "get",
url :"http://www.xxxxx.com?id=123&jsoncallback=?",
dataType : "jsonp",
jsonp: "callbackparam",//传递给请求处理程序或页面的,用以获得jsonp回调函数名的参数名(默认为:callback)
jsonpCallback:"setVoteData",//自定义的jsonp回调函数名称,默认为jQuery自动生成的随机函数名
success : function(json){
//函数具体实现
}
});
type : 不可为POST提交
url:jsoncallback=?是关键性的参数 与"jsonpCallback:"值二选一;在服务器可返回动态函数名是用此参数
jsonpCallback:针对已经有固定返回方法名的时候 与"jsoncallback=?"二选一;在服务器返回固定函数名是用此用此属性
二:
$.getJSON(url,data,callback);
url String
发送请求地址。 此方法URL中必须有jsoncallback=?方法,否则无法跨域
data (可选) Map
待发送 Key/value 参数。
callback (可选) Function
载入成功时回调函数。