博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
jsonp对付同源策略
阅读量:4350 次
发布时间:2019-06-07

本文共 922 字,大约阅读时间需要 3 分钟。

     当 协议不同或者域名/ip不同或者端口号不同 ,  都不算是同源

  这时候 源生的ajax 就不能进行数据请求了

  

  JSONP  json with padding

  在平时的开发中也发现了  ,当我们请求  js, css,图片 等资源的时候  无论是不是本地,国外的都行,哪的都行。

  

  用script标签来请求 跨域的资源就是  jsonp

  不用其他标签因为   script标签请求来的内容都会被当做js代码,json 是源生js支持的数据类型,并且json 可以表达复杂的数据,所以天生的就是有天赋

jsonp.js    我们就在本地  用fille直接打开呆这段js 的html

function jsonpCallback (result) {      console.log(result);    }    var JSONP = document.createElement('script');    JSONP.type = 'text/javascript';    JSONP.src = "http://localhost/ajaxphp/result.php?callback=jsonpCallback";    document.getElementsByTagName('head')[0].appendChild(JSONP);//? name&value    这个url就是模拟 get请求 目标php文件

result.php  运行本地的服务器  服务器上的 php文件

1,'b'=>2,'c'=>3); $result = json_encode($arr); $callback = $_GET['callback']; echo $callback."($result)"; ?>

 

上面这两个文件   是跨域的  但是仍然可以顺利的访问

 

jQuery中的  ajax 是封装过的   就是将正常的ajax和jsonp封装到了一起,其实跨域的还是  jsonp

 

转载于:https://www.cnblogs.com/96weibin/p/8810022.html

你可能感兴趣的文章
07-3. 数素数 (20)
查看>>
写一个欢迎页node统计接口Py脚本(邮件,附件)-py
查看>>
计算两个日期之间的天数
查看>>
山东省第六届蓝桥杯 ///标题:三羊献瑞//c/c++组
查看>>
Unity火炬之光进度
查看>>
Android关于buildToolVersion与CompileSdkVersion的区别
查看>>
Linux企业级开发技术(7)——libevent企业级开发之锁和线程
查看>>
解决XCODE配置LLVM环境出现的问题
查看>>
Python爬虫基础
查看>>
Jmeter 监控远程服务器
查看>>
大数据 : Hadoop reduce阶段
查看>>
char*,const char*和string 三者转换
查看>>
[C/C++] VC2012编译的程序在WinXP下报告“指定的可执行文件不是有效的 Win32 应用程序”错误...
查看>>
Selenium通过监听事件实现自动截图
查看>>
Web开发中8个基础&&常见功能
查看>>
android 自定义控件 (二) 初步认识
查看>>
Android-Context
查看>>
Arts·St 挑战二周目
查看>>
Recycle团队项目第二次冲刺
查看>>
Junit 单元测试基本使用方法
查看>>