ajax跨域问题解决
来源:互联网 发布:程序员开发软件 编辑:程序博客网 时间:2024/06/07 17:43
我们在用ajax的时候有时候遇到跨域的问题
1.下面是我写的一个例子
$.ajax({ url:"http://127.0.0.1:8080/occs/user/login?username=121&password=121", type:"get", dataType:"jsonp", success:function(data){ alert(data.msg); } })dataType设置为jsonp类型
请求方式只能用get,需要接受返回参数的时候,需要在方法中添加一个callback参数
如:
@RequestMapping("/login") @ResponseBody public String login(String callback,String username,String password) { JSONObject json=new JSONObject(); System.out.println(username+","+password); json.put("msg", "msg"); String json1 =callback+ "("+ JSONObject.toJSONString(json)+")"; return json1; }
其中callback是ajax给我附加的参数,我们只需要接受即可。另外返回的数据的时候我们需要把callback拼接到我们要返回的数据中,如果想要返回json数据
需要把json转换成字符串在拼接,在页面上就可以用data.msg来获取我们返回的数据。
2.第二种方式 设置头部信息
js中正常写ajax
如:
function login(){ $.ajax({ url:"http://127.0.0.1:8080/occs/user/login?", type:"post", data:{"username":"123","password":"11221"}, dataType:"json", success:function(data){ alert(data.msg); } }) }在方法中
@RequestMapping("/login") @ResponseBody public JSONObject login(String username,String password,HttpServletResponse response) {
// 设置头部消息,就能接收请求了 response.setHeader("Access-Control-Allow-Origin", "*"); JSONObject json=new JSONObject(); System.out.println(username+","+password); json.put("msg", "msg"); /* String json1 =callback+ "("+ JSONObject.toJSONString(json)+")";*/ return json; }
这种方法相对简单一些,返回数据类型也不受限制而且请求方式也可以是post
0 0
- ajax跨域问题解决
- Ajax跨域问题解决
- ajax跨域问题解决
- Ajax跨域问题解决(Ajax JSONP)
- Ajax跨域问题解决方案
- AJAX跨域问题解决办法
- ajax跨域问题解决方法
- Ajax跨域问题解决方案
- ajax跨域访问问题解决
- ajax跨域问题解决方案
- ajax跨域问题解决:JSONP
- ajax跨域问题解决方案
- ajax跨域问题解决方案
- ajax跨域问题解决方案
- Ajax跨域问题解决方案
- IE9版本以下ajax 跨域问题解决
- Ajax 跨域问题解决最好方案
- PHP Ajax跨域问题解决方案
- 微信公众号开发
- 买房
- 音频视频编码格式
- C语言建造自己的调试信息系统
- object-c万能解决bug思路
- ajax跨域问题解决
- Tensorflow argmax函数详解
- spring4和mybatis3整合
- 代码自动生成工具(一)-Csv读表代码自动生成工具
- 程序设计实训项目三 电子词典
- Android中的屏幕适配
- oracle数据库死锁问题
- 数据库打开阶段,新增的数据文件损坏
- 电子词典