Ajax跨域查询完美解决通过$.getJSON()实现

 更新时间:2013年06月28日 17:54:22   作者:  
浏览器安全上做了限制,禁止ajax跨域获得数据,可以通过jquery提供的$.getJSON()可以跨域获得JSON格式的数据,具体的实现如下,感兴趣的朋友可以参考下哈,希望对大家有所帮助
原因:浏览器安全上做了限制,禁止ajax跨域获得数据。
解决方法:通过jquery提供的$.getJSON()可以跨域获得JSON格式的数据。优点:兼容性强。

Java后台代码:
复制代码 代码如下:

protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
String callback =req.getParameter("callback");//jquery生成的自定义函数名
resp.setCharacterEncoding("UTF-8");
resp.setContentType("text/html;charset=utf-8");
PrintWriter out = resp.getWriter();
//返回json格式字符串,注意向前台输出的格式必须为 callback(json格式的字符串);
//callback是jquery生成的自定义函数名,返回这种格式,前台jquery代码会自动替换
//回调函数为此callback函数,从而达到跨域的效果,网上还有其他的跨域方案如:AJAJ
//原理应该也是和此方法一样。缺点是:返回数据量不宜过大,安全性差,建议重要数据不
//要通过这种形式传递。
out.print(callback+"({name:'111',sex:'222'});");
out.flush();
out.close();
}

Js前台调用代码:
复制代码 代码如下:

$(function(){
//需要传的参数,可以不传。
var data= {param1:"param1",param2:"param2"};
//注意url一定要以callback=?的形式拼接,callback参数名可以自定义,
//但后台必须也要同步获取的参数名
var url = 'http://192.168.1.216:8080/DSFA/getUser?callback=?';
$.getJSON(url,data,function(backdata){
//其实后台返回的函数已经替换为此函数,所以backdata
//就是你从后台传过来的json对象。
alert(backdata);
});
})

如果有不明白的地方,请留言....

相关文章

  • ajax获取用户所在地天气的方法

    ajax获取用户所在地天气的方法

    这篇文章主要为大家详细介绍了ajax获取用户所在地天气的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-10-10
  • ajax提交手机号去数据库验证并返回状态值

    ajax提交手机号去数据库验证并返回状态值

    这篇文章主要为大家详细介绍了ajax提交手机号去数据库验证并返回状态值的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-01-01
  • 基于Ajax技术实现无刷新用户登录功能

    基于Ajax技术实现无刷新用户登录功能

    这篇文章主要介绍了基于Ajax技术实现无刷新用户登录功能,非常不错,具有参考借鉴价值,需要的的朋友参考下吧
    2017-01-01
  • Ajax异步加载解析

    Ajax异步加载解析

    这篇文章主要为大家详细介绍了Ajax 异步加载,什么是Ajax 异步加载,如何实现Ajax 异步加载,感兴趣的小伙伴们可以参考一下
    2016-08-08
  • Ajax 核心框架函数及例子

    Ajax 核心框架函数及例子

    最近学习js,肯定会学到ajax中的东西,所以,看到比较好的ajax函数,免不得要贴出来,供大家参考。这个函数摘录自john resig的书中。
    2009-09-09
  • Ajax异步请求技术实例讲解

    Ajax异步请求技术实例讲解

    ajax是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。下面通过本文给大家分享Ajax异步请求技术实例讲解,非常不错,具有参考借鉴价值,需要的的朋友参考下吧
    2017-08-08
  • 零基础学习AJAX之AJAX框架

    零基础学习AJAX之AJAX框架

    本文是零基础学习AJAX系列教程的第二篇,我们介绍点不一样的知识,学习下ajaxLib和ajaxGold两款框架,方便我们更好的理解ajax.
    2015-01-01
  • Ajax实现文件上传功能(Spring MVC)

    Ajax实现文件上传功能(Spring MVC)

    这篇文章主要为大家详细介绍了Ajax实现文件上传功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-02-02
  • AJAX的阻塞及跨域名解析

    AJAX的阻塞及跨域名解析

    AJAX的阻塞及跨域名解析...
    2007-07-07
  • Ajax 无刷新在注册用户名时判断是否为空是否被使用

    Ajax 无刷新在注册用户名时判断是否为空是否被使用

    这篇文章主要介绍了Ajax 无刷新在注册用户名时判断是否为空是否被使用,需要的朋友可以参考下
    2014-05-05

最新评论