Ajax跨域问题的解决办法

对于端口和协议的不同,我们只能通过后台来解决,我们解决的是域名不同的问题;
我们通过JSONP数据类型来解决跨越的问题;
JSONP有两部分:回调函数和数据。回调数据就是当响应到来时应该在页面中调用的函数,数据就是传入回调函数的json数据
<script type = "text/javascript">
function dosomething(jsondata){
//处理获取的数据
}
<script>
<script src = "传入引用的js文件的地址?callblack = dosomething"><script>
第一个script标签定义一个处理数据的函数
第二个script标签载入一个js文件;
最后js文件载入成功后会执行我们在url参数中指定的函数,并且会把我们需要的json数据作为参数传入PHP文件
<?php
$callblack = $_GET['callblack'];//得到回调函数名
$data = array('a','b','c');//要返回的数据
echo $callblack.'('.json_encode($data).')';//输出
?>

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 使用场景:在需要在本地服务器访问外部接口并获取外部接口返回的数据并操作本地数据库的情况 什么是跨域? 概念:只要协...
    安易学车阅读 12,640评论 0 1
  • AJAX 原生js操作ajax 1.创建XMLHttpRequest对象 var xhr = new XMLHtt...
    碧玉含香阅读 8,685评论 0 7
  • 跨域问题产生的原理是指通过js在不同的域之间进行数据传输或通信,比如用ajax向一个不同的域请求数据,或者通过js...
    往复随安_cc75阅读 3,477评论 0 1
  • 由于浏览器的同源策略保护机制,浏览器不能执行来自其他来源的脚本。通过js在不同的域之间进行数据传输或通信,比如用a...
    威少_吴阅读 5,252评论 0 2
  • 第一种:终端生成 一、准备: 1.在终端中输入:open /usr/bin/codesign 看是否codesig...
    飞鱼_T阅读 9,518评论 0 2

友情链接更多精彩内容