2 u014542626 u014542626 于 2016.04.07 09:48 提问

有人教下怎么前端跨域么,不用ajax

我试过2种:
第一种:

     var xmlhttp = new XMLHttpRequest();
                        if (!xmlhttp.setRequestHeader) {
                            xmlhttp = window.XMLHttpRequest();
                        }
                        xmlhttp.onreadystatechange = function() {
                            if (this.readyState == 1) {
                                this.setRequestHeader("Access-Control-Allow-Origin", "*");
                            } else if (this.readyState == 4 && this.status == 200) {
                                mui.toast(this);
                            }
                            mui.alert(this.status);
                            console.log(this.status);
                            if(this.status>300&&this.status<400){
                                return;
                            }
                        }
                        xmlhttp.open("GET", "外网地址", true);
                        xmlhttp.setRequestHeader("Access-Control-Allow-Origin", "*");
                        xmlhttp.send();

第二种:
在页面头部加:

    <%
        response.setHeader("Access-Control-Allow-Origin", "*");
        response.setHeader("Content-Type", "text/html; charset=UTF8");
    %> 

都没成功。

2个回答

qq_26431469
qq_26431469   2016.04.08 11:14
已采纳

跨域请求 可以用jsonP

showbo
showbo   Ds   Rxr 2016.04.07 10:12

第一种没用,要服务器端设置Access-Control-Allow-Origin,并且注意浏览器,ie10+才支持Access-Control-Allow-Origin,ie9-要用XDomainRequest对象,而不是XMLHttpRequest对象

jquery1.5+ ajax跨域请求在IE下没反应分析

u014542626
u014542626 回复无聊码农: 那第二种呢。。
一年多之前 回复
showbo
showbo 上面有误,应该是IE11才支持,IE10-都无法使用XMLHttpRequest进行跨域。http://www.w3dev.cn/article/20130813/ajax-withCredentials-attribute.aspx
一年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!