分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 教程案例

jsonp对付同源策略

发布时间:2023-09-06 01:49责任编辑:林大明关键词:jsjson

     当 协议不同或者域名/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文件

<?php ?$arr = Array(‘a‘=>1,‘b‘=>2,‘c‘=>3); ?$result = json_encode($arr); ?$callback = $_GET[‘callback‘]; ?echo $callback."($result)"; ??>

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

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

jsonp对付同源策略

原文地址:https://www.cnblogs.com/96weibin/p/8810022.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved