zoukankan      html  css  js  c++  java
  • 解决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","*");
  • 相关阅读:
    Ubuntu学习
    Django之 Views组件
    Django之 admin组件
    Django之 Models组件
    Django之 url组件
    递归
    python 之 编码
    Python 之 Restful API设计规范
    Django之实现登录随机验证码
    git &github 快速入门
  • 原文地址:https://www.cnblogs.com/lvxisha/p/11557564.html
Copyright © 2011-2022 走看看