1.jsonp是用来实现跨域通信的一种方法。原理如下:
利用script标签的src属性来实现跨域,即:在客户端动态添加script然后将url指向要请求的地址; 将前端方法作为参数传递到服务器,服务器响应之后再返回
2.jsonp实现过程:
请求方:frank.com 的前端程序员(浏览器) 响应方:jack.com 的后端程序员(服务器) 请求方创建 script,src 指向响应方,同时传一个查询参数 ?callbackName=yyy 响应方根据查询参数callbackName,构造形如 yyy.call(undefined, '你要的数据') yyy('你要的数据') 这样的响应 浏览器接收到响应,就会执行 yyy.call(undefined, '你要的数据') 那么请求方就知道了他要的数据
大家的约定为: callbackName -> callback yyy -> 随机数 adsfaf12312312312321325()
3.用jQuery实现jsonp
$.ajax({ url: "http://jack.com:8002/pay", dataType: "jsonp", success: function( response ) { if(response === 'success'){ amount.innerText = amount.innerText - 1 } } })
本文分享自微信公众号 - 编程坑太多(idig88),作者:诸葛阿明
原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。
原始发表时间:2018-04-05
本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。
我来说两句