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'