JQuery的Ajax跨域请求原理概述及实例

 更新时间:2013年04月26日 15:39:35   作者:  
ajax跨域请求的问题,JQuery对于Ajax的跨域请求有两类解决方案,不过都是只支持get方式,接下来为大家详细介绍下客户端JQuery.ajax的调用代码
今天在项目中需要做远程数据加载并渲染页面,直到开发阶段才意识到ajax跨域请求的问题,隐约记得Jquery有提过一个ajax跨域请求的解决方式,于是即刻翻出Jquery的API出来研究,发
JQuery对于Ajax的跨域请求有两类解决方案,不过都是只支持get方式。分别是JQuery的 jquery.ajax jsonp格式和jquery.getScript方式。

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

客户端JQuery.ajax的调用代码示例:
复制代码 代码如下:

$.ajax({
type : "get",
async:false,
url : "http://www.xxx.com/ajax.do",
dataType : "jsonp",
jsonp: "callbackparam",//服务端用于接收callback调用的function名的参数
jsonpCallback:"success_jsonpCallback",//callback的function名称
success : function(json){
alert(json);
alert(json[0].name);
},
error:function(){
alert('fail');
}
});

服务端返回数据的示例代码:
复制代码 代码如下:

public void ProcessRequest (HttpContext context) {
context.Response.ContentType = "text/plain";
String callbackFunName = context.Request["callbackparam"];
context.Response.Write(callbackFunName + "([ { name:\"John\"}])");
}

相关文章

  • 用jQuery实现圆点图片轮播效果

    用jQuery实现圆点图片轮播效果

    在页面的指定位置实现的图片自动的左右轮流切换展示效果,当点击图片左下的标签(或中间的小圆点)切换到对应的图片。接下来通过本文给大家分享用jQuery实现圆点图片轮播效果实例代码,需要的朋友参考下
    2017-03-03
  • jquery聚焦文本框与扩展文本框聚焦方法

    jquery聚焦文本框与扩展文本框聚焦方法

    在不同的浏览器中,一个文本框,如果只是直接给文本框设置focus(),那么光标聚焦的位置可能是在最前面。下面的代码则是给jquery扩展一个textFocus方法
    2012-10-10
  • jQuery实现Email邮箱地址自动补全功能代码

    jQuery实现Email邮箱地址自动补全功能代码

    这篇文章主要介绍了jQuery实现Email邮箱地址自动补全功能代码,涉及jQuery鼠标事件及字符操作的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-11-11
  • jQuery Ajax中的事件详细介绍

    jQuery Ajax中的事件详细介绍

    这篇文章主要介绍了jQuery Ajax中的事件详细介绍,本文详细的讲解了AJAX的局部事件和全局事件、事件的顺序等内容,需要的朋友可以参考下
    2015-04-04
  • jquery+css+html实现飞机大战游戏

    jquery+css+html实现飞机大战游戏

    这篇文章主要为大家详细介绍了jquery+css+html实现飞机大战游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-05-05
  • json+jQuery实现的无限级树形菜单效果代码

    json+jQuery实现的无限级树形菜单效果代码

    这篇文章主要介绍了json+jQuery实现的无限级树形菜单效果代码,涉及jquery针对json数据的遍历、读取及动态操作技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-08-08
  • jQuery实现3D文字特效的方法

    jQuery实现3D文字特效的方法

    这篇文章主要介绍了jQuery实现3D文字特效的方法,通过鼠标与css样式来实现文字特效的技巧,需要的朋友可以参考下
    2015-03-03
  • jQuery ui实现动感的圆角渐变网站导航菜单效果代码

    jQuery ui实现动感的圆角渐变网站导航菜单效果代码

    这篇文章主要介绍了jQuery ui实现动感的圆角渐变网站导航菜单效果代码,涉及jquery插件构造圆角图形及页面过度效果的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-08-08
  • jquery插件NProgress.js制作网页加载进度条

    jquery插件NProgress.js制作网页加载进度条

    这篇文章主要介绍了jquery插件NProgress.js制作网页加载进度条的相关资料,需要的朋友可以参考下
    2015-06-06
  • jQuery调用Webservice传递json数组的方法

    jQuery调用Webservice传递json数组的方法

    这篇文章主要介绍了jQuery调用Webservice传递json数组的方法,实例分析了jQuery基于ajax与Webservice传递json数据的相关实现技巧,需要的朋友可以参考下
    2016-08-08

最新评论