zoukankan      html  css  js  c++  java
  • 测试笔记: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!


  • 相关阅读:
    LeetCode:删除有序数组中的重复项
    ABAP新语法之内联声明
    SAL实战练习-全选及按钮事件等
    固定资产创建BAPI_FIXEDASSET_CREATE--含扩展结构字段EXTENSIONIN
    SAP-采购订单-数据输入校验
    外围系统传SAP---OUT2SAP接口测试
    SAP2OUT异步接口测试
    SAP2OUT同步接口测试
    SAP-批量创建货源清单
    BDC-用户锁定及有效期设置程序
  • 原文地址:https://www.cnblogs.com/dinghanhua/p/9824017.html
Copyright © 2011-2022 走看看