解决ajax请求跨域

时间:2019-09-20
本文章向大家介绍解决ajax请求跨域,主要包括解决ajax请求跨域使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

跨域大部分需要通过后台解决,引起跨域的原因:
  3个问题同时满足 才可能产生跨域问题,即跨域(协议,主机名,端口号中有一个不同就产生跨域)

下面是解决方法

方法一

   // ajax请求跨域
    /*
    *解决ajax跨域----jsonp
    */
   function httpReq() {
       $.ajax({
           type:"get",//必须是get请求
           url: "/testJsonp",
           data: "data",
           dataType:"jsonp",//请求的数据类型
           jsonp:"callback",//请求类型是回调
           jsonpCallback:"callbackFunction",//数据请求成功时回调的方法
           success: function (response) {
               console.log(response);
           }
       });
     }

     /**
      * java部分
     */
     @Controller 
        public class TestController {  
            @RequestMapping(value="/testJsonp")  
            public void testAjaxJsonp(@RequestParam String callback,HttpServletResponse response){  
                try {  
               // 这里jsonp返回的数据是固定格式 文后有详细解释
                    response.getWriter().print(callback+"({\"id\":1})");  
                    response.flushBuffer();  
                } catch (Exception e) {  
                    e.printStackTrace();  
                }  
            }  
        }

方法二:Java解决

  1. /**设置响应头允许ajax跨域访问**/
    response.setHeader("Access-Control-Allow-Origin","*");

原文地址:https://www.cnblogs.com/lvxisha/p/11557564.html