ie8下js提交get请求遇到拒绝访问的问题
2017-09-25 11:46
519 查看
ie8下js提交get请求遇到拒绝访问的问题
Js用Ajax提交get请求时,在Ie8下遇到拒绝访问的问题,有人说这是跨域引起的,可以设置Ie的安全性来避免这个问题,具体如下:IE工具->internet选项->安全->自定义级别->通过域访问数据源,改成启用,就可以发送请求获取数据了,不知道这对跨域的安全性有什么影响没,但在ff和chrome下是可以直接发送和获取数据的,具体如下:
var myText; var text = ""; function request(url, params) { var xhr = new XMLHttpRequest(); xhr.onreadystatechange = function() { readyStateChanged(xhr); } var result = url; for (var i in params) { result = addURLParam(result, i, params[i]); } console.log(result); xhr.open("get", result, true); xhr.send(null); } function readyStateChanged(xhr) { console.log("xhr readyState: " + xhr.readyState); console.log(xhr.responseText) if(typeof myText == "undefined") { myText = document.getElementById("myText"); } console.log("status=" + xhr.status); if (xhr.readyState == 4) { if ((xhr.status >= 200 && xhr.status < 300) || (xhr.status == 304)) { //console.log(xhr.responseText); text += xhr.responseText; } else { console.log("Request was unsuccessfull: status=" + xhr.status + ", url=" + url); text += "Request was unsuccessfull: status=" + xhr.status + ", url=" + url; } myText.innerHTML = text; } } function addURLParam(url, name, value) { url += (url.indexOf("?") == -1) ? "?" : "&"; url += encodeURIComponent(name) + "=" + encodeURIComponent(value); return url; } 调用方法如下:
var params = new Object(); var url = "..."; params.type= 0; params.id= 0; request(url, params); 后来才发现,在ie下不能用XMLHttpRequest,而是要改用XDomainRequest类,修改如下:
function ieRequest(url, params) { var xdr = new XDomainRequest(); xdr.onload = function() { //readyStateChanged(xdr); console.log(xdr.responseText); } var result = url; for (var i in params) { result = addURLParam(result, i, params[i]); } console.log(result); xdr.open("get", result); xdr.send(null); } 修改后再将上面的通过域访问数据源改成禁止访问,这样就可以发送和接受get请求了。 要吐血了,web前端真不是人干的事情
相关文章推荐
- asp.net 2安装遇到问题的解决(由于无法创建应用程序域,因此未能执行请求。错误: 0x80070005 拒绝访问)
- 用JS提交参数创建form表单在FireFox中遇到的问题
- JS提交请求url中存在中文的问题的一个解决方案
- Android 6.0 使用HttpURLConnection 使用Get提交遇到405等问题。
- JS提交请求url中存在中文的问题的一个解决方案
- win7 web开发遇到的问题-由于权限不足而无法读取配置文件,无法访问请求的页面
- IE下 js文件上传时拒绝访问问题
- [JavaScript]IE7,IE8浏览器请求本地资源出现access is denied拒绝访问[转载]
- 后台 与 js 处理Get方式提交的中文参数乱码问题
- ionic+nodejs开发遇到的跨域和post请求数据问题
- REST提交请求GET请求时的URL长度问题
- Android传统HTTP请求get----post方式提交数据(包含乱码问题)
- SpringMVC遇到的乱码问题- 解决GET请求时中文乱码的问题
- js中submit事件 提交时 没有get 到值的问题!
- struts2——学习笔记2 通过form表单方式或者js的方式提交请求,封装boolean值的问题
- WIN7下.Net开发遇到的又一问题:HTTP 错误 500.19 - Internal Server Error,无法访问请求的页面,因为该页的相关配置数据无效。
- js使用 soapclient.js 访问webservice遇到问题" field SOAPAction is not allowed by Access-Control"
- 图片按钮,使用get方法提交数据时遇到的严重问题!
- alamofire GET请求带中文参数遇到的问题
- Android传统HTTP请求get----post方式提交数据(包括乱码问题)