Jquery+Ajax实现跨域访问
更新时间:2022年05月19日 08:24:42 作者:springsnow
这篇文章介绍了Jquery实现Ajax跨域访问的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
一、跨域的集中方法:
- 服务器端发送请求,服务器作为中继代理(此方法不理解)
- iframe
- script标签
通过动过动态生成script标签,并将src指向目标源的方式
原生实现方式示例:
var url="www.xxx.baidu.com/aa.js",
scriptTag=document.createElement("script");
scriptTag.src=url;
document.getElementByTagName("head")[0].appendChild(scriptTag);
function showSth(data){
alert(data.a);
}
////////////aa.js
var aa={"a":"A"};
showSth(aa);二、jsonp:
1、客户端
使用script标签实现跨域访问、可在url中指定回调函数、获取json数据并在指定的回调函数中执行
jQuery实现jsonp
//$.getJSON
var url="wwwa.xxx.baidu.com/aa.js?callback=?"//使用?作为回调函数名,jquey会自动生成随机名替换?号。
$.getJSON(url,function(jsoon){
alert(json.name+json.Email);
});
//$.ajax;
var url=www.xxx.baidu.com/aa.asmx?code=xx
$.ajax({
url: url,
dataType: jsonp,
jsonp:”callback”,//传递给请求处理程序的参数名,用来获取jsonp回调函数名(默认为“callback”,自动在URL中加上callback=?参数)
jsonpCallback:”GetUser”,//自定义的jsonp回调函数名(默认为jquery自动生成的随机函数名),此参数通常不用设置
success:function(json){
alert(json.name+json.Email);
}
});jQuery 只支持get方式的jsonp实现。
jsonp的缺点:如果返回的数据格式有问题或返回失败了,并不会报错。
2、服务端
string jsoncallback = context.Request["callback"]; //如果不指定jsoncallback参数名,则返回随机函数名。
string jsonp=jsoncallback+"("+ new JavaScriptSerializer(new {Name="a",Email="B"})+")"
context.Response.ContentType = "text/plain";
context.Response.Write(jsonp);到此这篇关于Jquery+Ajax实现跨域访问的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
相关文章
jquery实现点击a链接,跳转之后,该a链接处显示背景色的方法
下面小编就为大家分享一篇jquery实现点击a链接,跳转之后,该a链接处显示背景色的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2018-01-01
jquery创建一个新的节点对象(自定义结构/内容)的好方法
jq创建一个新的节点对象,这对一些自定义功能很有帮助,而且可以随意控制对象的结构与内容,何乐而不为呢,看到这里,相信有些朋友已经按耐不住了,好记下来为大家介绍实现方法,感兴趣的朋友可以了解下哦2013-01-01
jQuery怎么解析Json字符串(Json格式/Json对象)
可以利用jquery或js解析json数据,下面与大家分享下jquery解析json字符串方法,一个是解析Json格式,一个是解析Json对象,感兴趣的朋友可以学习下2013-08-08


最新评论