由于最近在一个小项目需要把页面和后台分开,部署到不同的服务器上。这样就出现跨域的问题。下面我们就看如何实现:
1.导入jquery.js,本人使用的是1.10.1版本
2.js代码
$(document).ready(function(){ //查看按钮绑定事件 $(".btn_check").bind("click", function() { var url = "http://192.168.0.109:8080/test/testServlet?callback=queryUserInfo"; $.ajax({ url:url, dataType:'jsonp', processData: false, type:'get', jsonpCallback:"queryUserInfo", success:function(data){ alert(data.name); }, error:function(XMLHttpRequest, textStatus, errorThrown) { console.log("XMLHttpRequest.status:"+XMLHttpRequest.status); console.log("XMLHttpRequest.readyState:"+XMLHttpRequest.readyState); console.log("textStatus:"+textStatus); } }) }); });
注意:jsonpCallback的值必须与callback的值保持一致
3.java代码
String callback = request.getParameter("callback"); UserService service = new UserService(); String respInfo = service.queryUserByLanId(lanId); try { response.getWriter().write(callback+"("+JSONObject.fromObject(respInfo)+")"); } catch (IOException e) { e.printStackTrace(); }
注意:返回的是jsonp格式不是json格式,所以我把返回数据拼接成jsonp格式
json格式:
{ "uid:"123", "state:"0" }
jsonp格式
callback({ "uid:"123", "state:"0" })
jsonp格式比json格式外面多一层callback().
相关推荐
本资源主要介绍了AJAX跨域的解决办法,以及解决方案间的比较
一个c# ajax跨域的demo,解决c# ajax 跨域的问题
Spring Boot 使用 Redis 进行配置 Session 共享(Ajax 跨域) 源码下载。
ajax跨域调用wcf实例
怎样实现Ajax 跨域访问的五种方法, 怎样实现Ajax 跨域访问的五种方法
解决ajax跨域问题
解决ie8、9Ajax跨域问题(前端):jsp引入此js,Jquery Ajax正常写
可以将book.aa.com用iframe添加到 www.aa.com的某个页面下,在www.aa.com和iframe里面都加上document.domain = "aa.com",这样就可以统一域了,可以实现跨域访问。就和平时同一个域中镶嵌iframe一样,直接调用里面的...
利用JQuery jsonp实现Ajax跨域请求 .Net 的*.handler 和 WebService,返回json数据
Ajax跨域问题及其解决方案.docx
Ajax跨域问题详解,包括详解内容、java代码、nginx等详细信息,可以直接运行
你需要获取其他网站的数据吧,ajax跨域获取数据帮你实现。
Ajax跨域访问的示例(ASP.NET Web)
使用juery提交表单,实现ajax跨域请求
ajax跨域问题的解决办法
在收集AJAX面试题的时候其实就已经有过AJAX跨域的问题的了,当时候知道了为什么会存在跨域,以及跨域解决的方案有哪些,今天随着课程的学习,又加深了AJAX跨域的理解,以此记录下来。
基于ajax方式的跨域请求jsonp的前后台代码