博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
jQuery之ajax的跨域获取数据
阅读量:5127 次
发布时间:2019-06-13

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

如果获取的数据文件存放在远程服务器上(域名不同,也就是跨域获取数据),则需要使用jsonp类型。使用这种类型的话,会创建一个查询字符串参数 callback=? ,这个参数会加在请求的URL后面。服务器端应当在JSON数据前加上回调函数名,以便完成一个有效的JSONP请求。意思就是远程服务端需要对返回的数据做下处理,根据客户端提交的callback的参数,返回一个callback(json)的数据,而客户端将会用script的方式处理返回数据,来对json数据做处理。JQuery.getJSON也同样支持jsonp的数据方式调用。下面演示关于jQuery处理跨域请求ajax的方式:

服务器端(PHP为例):

' 张三','age'=>22,'city'=>'newYork');sleep(3); //人为设置一个等待(用于观察什么是ajax的同步与异步)responseAJAX($data); //响应请求返回数据/** * 返回处理后的ajax请求数据 * @author martinzhang * @param $data 待返回的数据 * @return none */function responseAJAX($data){ $data = json_encode($data); $getCallBackName = $_REQUEST['callback']; //获取callback调用的function函数名 if($getCallBackName != ''){ //使用了jsonp跨域请求 $data = $getCallBackName.'('.$data.')'; //返回格式形如:callbackFunName({"name":" \u5f20\u4e09","age":22,"city":"newYork"}) die($data); }else{ //未跨域 die($data); } }

客户端:

  jsonp跨域

sd......

 

 

 

转载于:https://www.cnblogs.com/martinzhang/p/3459706.html

你可能感兴趣的文章
面向对象六大基本原则的理解
查看>>
新手程序员在工作中需要注意的问题
查看>>
注解小结
查看>>
HTML DOM笔记
查看>>
【转】Linux 虚拟内存
查看>>
java代码编译与C/C++代码编译的区别
查看>>
Bitmap 算法
查看>>
转载 C#文件中GetCommandLineArgs()
查看>>
list control控件的一些操作
查看>>
精读《useEffect 完全指南》
查看>>
SNF快速开发平台MVC-EasyQuery-拖拽生成SQL脚本
查看>>
DrawerLayout实现双向侧滑
查看>>
CentOS下同步时间并写入CMOS
查看>>
何为Web Intents及其目前的实现状态
查看>>
Java基础-一个java文件多个类的问题
查看>>
Maven安装jar包到本地仓库
查看>>
前端学习总览
查看>>
HDU1228 A + B
查看>>
第一阶段冲刺个人博客10
查看>>
SQLServer中进行sql除法运算结果为小数时显示0的解决方案
查看>>