ie8下js提交get请求遇到拒绝访问的问题
来源:互联网 发布:matlab 图片矩阵 编辑:程序博客网 时间:2024/06/15 19:40
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前端真不是人干的事情
阅读全文
0 0
- ie8下js提交get请求遇到拒绝访问的问题
- IE8 下form重复提交的问题
- 表单提交GET方法遇到的问题
- 同域下iframe操作时,js访问document出现"拒绝访问"的问题原因
- ie8 ajax拒绝访问的解决办法
- IE下 js文件上传时拒绝访问问题
- IE下 js文件上传时拒绝访问问题
- “IE8 拒绝访问(Permission Denied) jQuery1.10.1.js 行1513”的处理方法
- file解决IE8中文件上传报typeerror拒绝访问问题的解决方法
- Tomcat下浏览器DELETE请求拒绝访问
- 当配置IIS遇到“访问由于 ACL 对所请求资源的设置被拒绝”时
- asp.net 2安装遇到问题的解决(由于无法创建应用程序域,因此未能执行请求。错误: 0x80070005 拒绝访问)
- 解决IE下document.referrer 拒绝访问的问题
- alamofire GET请求带中文参数遇到的问题
- 在win10系统下搭建网站遇到“无法枚举容器中的对象,访问被拒绝”问题
- IE8浏览器缓存问题导致Ajax的GET请求只能执行一次的解决办法
- 本人遇到的在ie中出现的jquery.form.js拒绝访问的解决方法
- npf拒绝访问的问题
- 项目使用Dubbo实现解耦和
- java8 函数式编程
- VC操作excel(读写操作)
- subsets-ii
- 数据库三范式详解
- ie8下js提交get请求遇到拒绝访问的问题
- go 语言学习历程
- Linux系统下我的/etc/sysconfig/路径下无iptables文件
- xJava +retrofit2实现安卓中网络操作
- Eclipse中新建Maven项目,解决丢失src/main/java文件问题
- 【C语言】if语句分支结构
- 解决 IDEA 中src下xml等资源文件无法读取的问题
- 微信开放平台和公众平台的区别?
- python中filter函数的用法