JSONP跨域请求
来源:互联网 发布:天龙八部手游染色数据 编辑:程序博客网 时间:2024/04/29 20:50
Ajax跨域请求——jsonp技术
1、Ajax跨域请求原理图
略
2、Ajax跨域请求不被允许的原因
- Ajax技术由于受到浏览器的限制,该方法不允许跨域通信。
- 同源策略阻止从一个域上加载的脚本获取或操作另一个域上的文档属性。也就是说,受到请求的 URL 的域必须与当前 Web 页面的域相同。这意味着浏览器隔离来自不同源的内容,以防止它们之间的操作。
3、jsonp协议
jsonp就是一个非官方协议,主要用于解决Ajax的跨域请求问题
面试题:json与jsonp的区别
- 实现原理
利用script里面的src属性
解决跨域请求的方式:
1、通过jsonp,即ajax操作返回数据的类型为jsonp (针对纯js写的应用程序)
客户端:
var url='http://www.study.com/jsonpurl.php?f1=?';
var title=$('input').val();
var data={'title':title};
/*
$.get(url,data,function(msg){
alert(msg)
},'jsonp');
*/
$.getJSON(url,data,function(msg){
alert(msg)
});
请求的服务器端:
$arr=array(1,2,3,4);
$str=json_encode($arr); //'1,2,3,4'
//$str='1,2,3,4';
$fn=$_GET['f1']; //callback
echo $fn.'('.$str.')'; //callback("1,2,3,4")
2、借助第三方语言(跟发起ajax请求是同域名),通过第三方语言获取要得到的数据,进行返回(推荐)
客户端
var url='http://www.study.com/1.php';
var title=$('input').val();
var data={'title':title};
$.get(url,data,function(msg){
alert(msg)
});
服务器端
//$title=$_GET['title'];
$str=file_get_contents('http://www.study.com/1.php');
echo $str;
阅读全文
0 0
- jsonp跨域请求
- jsonp 跨域请求
- jsonp跨域请求
- jsonp跨域请求
- jsonp跨域请求
- jsonp跨域请求
- JSONP 跨域请求
- jsonp跨域请求
- jsonp跨域请求
- JSONP跨域请求
- JsonP跨域请求
- jsonp跨域请求
- 跨域请求jsonp
- jsonp跨域请求
- JsonP跨域请求
- 跨域请求jsonp
- jsonp 跨域请求
- Jsonp跨域请求
- UVA
- CSS中正确理解clear:both
- 1018. 锤子剪刀布 (20)
- Java集合框架
- 自定义view中控件的点击事件
- JSONP跨域请求
- Add Two Numbers
- UNIX发展史简介[资料]
- UVA
- 2、变量的解构赋值 —ES6学习笔记
- ab网站压力测试工具使用详解
- 对Spring的理解
- Car
- 进程和线程的区别