jsonp的源码其实不难,大概可以分为这么几步首先写个函数,然后动态创建script标签,然后赋值src属性,再将script标签添加到body里面。最后写个加载事件将地址传到函数里面即可!不知道大家发现没有,这个jsonp和ajax没有一点关系,它是通过src属性去请求响应。
<script> // 回调函数 // function run(a){ // console.log(a); // } // function addScript(src) { // // 动态创建script标签 // const script = document.createElement('script'); // // 将传过来的src属性赋值给script的src属性 // script.src = src; // // 将script标签添加到body里面 // document.body.appendChild(script); // } // window.onload = function(){ // // 传入src地址 // addScript("http://127.0.0.1:7777/1010/01.php?callback=run"); // } </script>
下面就是在jquery中使用jsonp实现跨域的操作!这里大家需要注意的是success回调函数。
<script> // 在jquery中使用jsonp实现跨域 $.ajax({ type: "get",//默认通过get方式传参 dataType: "jsonp", jsonp: "qwe",//修改回调函数的名称 url: "http://127.0.0.1:7777/1010/01.php", // 回调函数 success: function (a) { console.log(a); // console.log(JSON.parse(a)) } }) </script>