大佬教程收集整理的这篇文章主要介绍了工作随记:jsonp跨域接口测试,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
原先测过这个接口,前后端同源(域名,协议,端口相同),开发提供的文档:
$.post("http://host/url",{ data1: "data1",data2: "data2",data3: "data3" },
function(data){Console.log(JSON.Stringify(data))}
)
测试接口发出的请求和响应如下: 响应是json格式
请求:
post
http://host/url post data: data1=data1&data2=data2&data3=data3 响应: {"retCode": null,"retmsg": null,"isSucess": true,"message": { "id": "100001" }}
现在其他系统需要请求该数据,json跨域需改成jsonp。改成jsonp之后,开发提供的文档:
$.ajax({ url: "http://host/url",//请求地址 type: "GET",//请求方式变了 dataType: "JSONP",//数据格式设定jsonp jsonp:"callBACk",//验证参数的名称 data: { data1: "data1",success: function (data) { console.log(JSON.Stringify(data)) } });
测试接口发出的请求如下:响应结果返回格式:函数(参数),参数=json串
简单理解(深入的网上找资料吧): 前端跨域发起请求时,指定函数; 获取到响应之后再调用该函数解析出里面包含的json串,从而实现跨域数据访问。
JSONP请求: get
http://host/url param: callBACk=TESTCallBACk&data1=data1&data2=data2&data3=data3 #post请求变成了get请求,且多了一个参数TESTCallBACk函数是开发设定的
响应:
TESTCallBACk({"retCode": null,"message": { "id": "100001" }})
关于是否同源:
@H_607_550@the end!
以上是大佬教程为你收集整理的工作随记:jsonp跨域接口测试全部内容,希望文章能够帮你解决工作随记:jsonp跨域接口测试所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。