jquery拒绝访问
1. 如何解决 IE下 上传文件的兼容性问题
我们用ajaxfileupload 做文件上传
遇到的第一个问题是
addEventlistener方法报错误,网络了一下才知道,是
jquery的版本太高,ie 9及以下,要用jquery1.x,
而我用的事jquery2.x,于是
<!--[if !IE]> -->
<script src="jquery-2.0.0b2.js"></script>
<!-- <![endif]-->
<!--[if IE]>
<script src="jquery-1.9.1.js"></script>
<![endif]-->
解决了版本问题,仍然 提示上传错误
我的代码是这样的
$.ajaxFileUpload({
url: '/aj/uploadphone',
secureuri: false,
fileElementId: 'up_file',
dataType: "json",
type: "post",
beforeSend: function() {
$('#up1').html('上传中...');
},
success: function(res) {
console.log(res.msg);
},
error: function(res) {
alert('上传失败');
}
});
于是我去调试 ajaxfileupload.min.js 中的代码,
发现这句报错了 jQuery(form).submit();
错误提示是: 拒绝访问
怎么会拒绝访问那?
原来
表单中存在file是,必须通过手动触发点击file控件的浏览时一切操作,通过别的控件来触发file的点击事件时就会出现拒绝访问的提示,这是ie处于安全性 的限制。
因为自带的<input type="file"> 非常难看,我就把它隐藏了,而用一个按钮的点击事件 触发 他的点击事件, 在低版本的IE中是不允许的
于是我想到了美化 <input type="file">
幸好网上有
这回上传成功了 json 也返回了,
可返回json数据在IE浏览器中提示下载,
原因是 返回数据时的http头,content-type: application/json
而低版本的ie不认识这种头,所有不认识的,ie都提示下载保存,
实了好几种头,和查了一些资料 发现
低于IE10版本一下的IE浏览器都需要使用text/html格式的Response
最终解决
js:
$.ajaxFileUpload({
url: '/aj/uploadphone',
secureuri: false,
fileElementId: 'up_file',
dataType: "text", //ie低版本不支持json
type: "post",
beforeSend: function() {
$('#up1').html('上传中...');
},
success: function(res) {
res = eval('('+res+')'); //转为json对象
console.log(res.msg);
$('#mytextarea').val(filter_tels(res.msg));
},
error: function(res) {
alert('上传失败');
console.log(res, 'sss');
}
});
php 服务端:
直接 echo json_encode($data);
6
由于下载的 ajaxfileupload版本不同,
这个文件中也会爆出一些错误,
可自行网络解决
2. javascript ajax拒绝访问的问题
IE6,IE8支持的XMLHTTP组件不一样。同时也受浏览器安全限制。
做AJAX,建议用JS脚本框架来操作,简单方便 又兼容各种浏览器。
如用JSer(国内的全功能JS框架)实现你上面的功能只需如下简短代码:
JSer("#btnid").click(function(){
JSer.url("sample.txt").ajax({
success:function(d){
alert(d);
}
});
});
3. jquery 怎样取iframe里的对象
1、你取得iframe的document的前提为这个iframe的地址是你域内的页面,
比如你设src为网络,取这个iframe的document时就会报拒绝访问的错误
2、我试过了 document.getElementById('myf').contentWindow.document 在ie与谷歌都行的
3、document.frames('iframename').document 这个方法只能在ie下面取得到
4、用火狐的firebug看看吧,有什么错都会显示出来,莫名其妙的事情什么时候都可能发生,
有时我直接取取window都报undefined
4. iframe子页面js调用父页面中的控件报“拒绝访问”是什么原因,怎么解决先声明不是跨域问题
直接使用:parent.form1.TextBox1.value;
即可。其中,form1为包含TextBox1的窗体。
5. jquery.form 上传图片 ie6 报错 拒绝访问 怎么解决
需要换FLASH控制
IE下 file必须用户触发事件,选择上传文件。不然就是报拒绝访问。
6. 拒绝访问 jquery-1.4.1.js 这是怎么回事
找到文件,右键》属性,安全选项卡中设置读取写入权限
7. jquery ajax get 跨域获取的文件类型是xml,但是js报错,提示 、jquery 拒绝访问
跨域只能用Jquery的jsonp,其它格式都是拒绝访问的
8. jquery ajax返回Internal server error 500错误怎么解决
500是服务器错误,可能是服务器的配置问题,也可能是后台程序问题,比如说跨域访问就是很常见的500错误。总之,这个错误不是你的前端js脚本造成的,应该找服务器,当然,也有可能是你ajax的参数错误造成服务器出错。
9. Javascript的xmlHttpRequest被浏览器提示“拒绝访问”
我也遇到过,file = new ActiveXObject("Scritpt 。。。");是 求文件大小的,要设intranet安全级别,最后放弃了,我是把文件传到后台然后ajax返回文件大小,就行了,看你的代码好像也是做ajax方法,用jQuery,或prototype都有方法,new AjaxUpdate(),祝你好运,
10. 今天练习jquery跨域的时候,遇到以下问题: 总是出现拒绝访问 jquery-1.4.2.js 行5113 代码0 的错误
跨域用jquery的$.getJSON() 或者用 $.ajax 指定dataType : 'jsonp'