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","*");
  • 相关阅读:
    JAXB
    webservice引用spring的bean
    org.apache.cxf.interceptor.Fault: No such operation
    org.apache.cxf.transport.servlet.CXFServlet cannot be cast to javax.servlet.Servlet
    Java常用jar包用途
    访问者模式
    模板模式
    策略模式
    状态模式
    代理模式
  • 原文地址:https://www.cnblogs.com/lvxisha/p/11557564.html
Copyright © 2011-2022 走看看