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 回复无聊码农: 那第二种呢。。
2 年多之前 回复
showbo
showbo 上面有误,应该是IE11才支持,IE10-都无法使用XMLHttpRequest进行跨域。http://www.w3dev.cn/article/20130813/ajax-withCredentials-attribute.aspx
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
【前端】ajax跨域,这应该是最全的解决方案了
原文出处: 撒网要见鱼    前言 从刚接触前端开发起,跨域这个词就一直以很高的频率在身边重复出现,一直到现在,已经调试过N个跨域相关的问题了,16年时也整理过一篇相关文章,但是感觉还是差了点什么,于是现在重新梳理了一下。 个人见识有限,如有差错,请多多见谅,欢迎提出issue,另外看到这个标题,请勿喷~ 题纲 关于跨域,有N种类型,本文只专注于ajax请求跨域(
前端AJAX请求跨域时遇到的一些坑
转自:https://icewing.cc/post/about-cross-origin.html Access-Control-Allow-Origin的问题Access-Control-Allow-Headers的问题cookie的问题OPTIONS请求完整代码 这两天在做公司的PC站时因为需要使用angular的$http服务存取数据,而且接口又在另一个域名
关于ajax通过jsonp进行跨域访问的新理解
因为之前一直在做java后端的东西,没怎么接触到jquery的东西;以前也经常听到前端的同事说到跨域的问题,虽然明白是怎么一回事,但是没有具体研究过如何实现,如何通过ajax实现;最近因为工期紧张,所以我也被逼跟着做前台的东西,因为工作中遇到了跨域的问题,所以今天有时间研究一下,也有了一个新的认识 以前一直以为ajax通过sonp就可以直接解决跨域的问题,不用后台做任何的改变,没想到今天通过测试
前端跨域解决办法之JSONP
由于JavaScript的同源策略限制,在当前JavaScript脚本中并不能操作来自非同一域下的资源,这就使得跨域问题之于前端工程师就像弹吉他之于民谣歌手——是非常重要的基本功。 跨域问题解决办法有很多种,比如W3C给出的CORS(Cross-Origin Resource Sharing,跨源资源共享),它的基本思想就是使用自定义的HTTP头部让浏览器与服务器进行沟通,从而决定请求或响应是应
前后端分离,前端跨域访问后台的两种方式
方式1:如果开发是tomcat服务器,在工程的web.xml添加设置; 方式2:通过ajax和过滤器实现跨域。
在前后端分离的项目中,ajax跨域请求怎样附带cookie
在项目的实际开发中,我们总会遇到前后端分离的项目,在这样的项目中,跨域是第一个要解决的问题,除此之外,保存用户信息也是很重要的,然而,在后台保存用户信息通常使用的session和cookie结合的方法,而在前端的实际情况中,跨域产生的ajax是无法携带cookie信息的,这样导致了session和cookie的用户信息储存模式受到影响,该怎样去解决这样一个问题呢
前后端分离开发背景下,前端如何使用nginx代理转发ajax跨域访问后台服务?
利用nginx代理转发 实现前后端分离开发模式下ajax的跨域请求
前后端分离,ajax前端跨域访问后端
当我们做前后端分离项目的时候,有时候前结合后端做调试的时候,就面临前端要跨域访问后端的情况,直接从前端跨域访问后端是需要在后端中做接受前端IP地址发出请求的接受处理,这句话很拗口,简单讲就是你要在后端设置一把前端所在服务器IP能够开你后端大门的钥匙,至于这个钥匙所做的处理是什么呢?是往请求消息头中加Access-Control-Allow-Origin ,Access-Control-Allow-
两种关于ajax跨域请求解决方案
一、使用jsonp实现跨域请求 在前端开发这中你会发现,所有带src属性的标签都可以跨域访问其他服务器文件。jsonp实现的原理也是如此。 以jsonp的数据类型进行请求时,JQ会动态在页面中添加script标签,将请求内容放置到src中。 jsonp类型请求数据时,无法使用post方式(你会发现,在JQ中即使你将type设置为POST方式,JQ也会将其转换为get方式请求)。 jsonp方式请求
前端使用ajax发送jsonp格式解决跨域访问的问题
1.使用jsonp发送ajax请求 ajax发送jsonp格式一般类型要指定为get请求 //ajax跨域访问可以使用jsonp的格式 function test(){ $.ajax({ url: "http://192.168.1.204:8910/mobile/checkService", type: "get", dataType: 'j