ajax 跨域问题两种方式

本文介绍两种实现跨域请求的方法:一种使用原生的$.ajax()方法设置dataType为jsonp;另一种利用jQuery-jsonp插件简化调用过程。展示了前端与后端配合完成跨域请求的具体实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第一种

             $.ajax({
        type: "POST",
        url : "http://localhost:8088/Shopping/user/ajaxCross.action",
        data:"null",
        async: false,
        dataType:"jsonp",
        error: function(request) {
          alert("test error");
        },
        success: function(data) {
        alert("success");
        alert(data);
         $.each(data,function(date){
                        alert(date);
                    });
        }
    });

注意:dataType 一定要为 jsonp 它的格式为   (json格式) 相当于用括号将json格式的数据包含。

_jqjsp({"address":"","birthday":{"date":14,"day":2,"hours":12,"minutes":12,"month":2,"nanos":0,"seconds":12,"time":1489464732000,"timezoneOffset":-480,"year":117},"dentityCode":"1","emaill":"","id":3,"name":"","order":2147483647,"picPath":"","remarks":"","sex":"???","status":1,"trueName":"????4"})


第二种 通过 jquery-jsonp  插件来进行跨域

var url="http://localhost:8088/Shopping/user/ajaxCross.action"
    +"?callback=?&id=fdfd";
$.jsonp({
  "url": url,
  "success": function(data) {
        alert("success");
          alert(data);
           $.each(data,function(date){
                          alert(date);
                      });
  },
  "error": function(d,msg) {
    alert("Could not find user ");
  }
});

注意:callback=?  这部分一定要写   jquery 默认会添加 如:

http://localhost:8088/Shopping/user/ajaxCross.action?callback=_jqjsp&_1495533338619=
 

后台代码都是一样的 如:

    @ResponseBody
    @RequestMapping("/ajaxCross")
    public String ajaxCross(HttpServletRequest request){
        String callback = request.getParameter("callback");
        User user = userService.findUserById(3);

        JSONObject jsonStu = JSONObject.fromObject(user);
        return callback+"("+jsonStu+")";
    }





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

坑里水库

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值