ajax请求跨域解决办法

一、利用jsonp解决

AJAX代码

//跨域请求需要改变dataType类型
                     $.ajax({
                        async: false,
                        url: "http://115.29.111.132:9080/supervision/login.do?method=frontLogin&userName=cxj&password=123456&sysFlag=jcy",
                        type: 'GET',
                        dataType: 'jsonp',
                        //传递给请求处理程序,用以获得jsonp回调函数名的参数名(默认为:callback)  
                        jsonp:"jsoncallback",  
                        //自定义的jsonp回调函数名称,默认为jQuery自动生成的随机函数名  
                        jsonpCallback:"jsonpCallback_success",  
                        //成功获取跨域服务器上的json数据后,会动态执行这个callback函数 
                        success: function(jsonObj){
                            winfullopen("http://115.29.111.132:9080/supervision/statistic.do?method=home");
                        },
                        error: function(){
                            alert('提交请求出错。');
                        }
                    });   

JAVA代码

//-----------跨域问题后台代码开始-----------
        String callbackName = "";;
        String result = "{success:\"+ flag +\", msg: '\" + msg + \"'}";
        if( request.getMethod().compareToIgnoreCase("post")>=0){
            System.out.println("post");
        }else{
            //根据html指定的jsonp回调函数的参数名,获取回调函数的名称  
            callbackName=(String)request.getParameter("jsoncallback");   
        }
        //最终返回的数据为  
        String renderStr=callbackName+"("+result+")";  
        response.setContentType("text/plain;charset=UTF-8");  
        response.getWriter().write(renderStr);  
        //-----------跨域问题后台代码结束-----------

二、更改服务器头信息

* 只需要在服务器端头部加上下面两句代码,此方法只在springmvc中试成功过,SSH试了多次都没成功:

header( "Access-Control-Allow-Origin:*" );

header( "Access-Control-Allow-Methods:POST,GET" );

 

转载于:https://my.oschina.net/EricSpace/blog/917608

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值