加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

工作随记:jsonp跨域接口测试

发布时间:2020-12-16 18:43:20 所属栏目:百科 来源:网络整理
导读:原先测过这个接口,前后端同源(域名,协议,端口相同), 开发提供的文档: ? $.post("http://host/url" ,{ data1: "data1" ,data2: "data2" ,data3: "data3" }, function (data){console.log(JSON.stringify(data))} ) 测试接口发出的请求和响应如下: 响应

原先测过这个接口,前后端同源(域名,协议,端口相同),开发提供的文档:

?

$.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" }}) 
?


关于是否同源:

?

the end!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读