测试笔记: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",
        data2: "data2",
        data3: "data3"
    },
    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, "retMsg": null, "isSucess": true, "message": { "id": "100001" }}) 
 


关于是否同源:

 



the end!


转载于:https://www.cnblogs.com/dinghanhua/p/9824017.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值