jquery使用$.getJson()跨域大資料量請求方法
阿新 • • 發佈:2019-01-22
jq的$.get和$.post方法,都是不能跨域訪問的。$.getJson卻讓我們看到了希望的曙光,
不過有一點不足的是,這個是GET的方法,傳遞的引數是有限制的,最大不超過2083個字元。
但問題終有解決辦法的,經分析得出解決方案如下:
a.com使用$.getJson向b.com傳送請求,在請求的同時,a.com把需要的傳遞的內容放到臨時檔案中(或者membercache),
b.com收到請求,反過來向a.com請求需要的資料,進行必要的操作,再給a.com返回成功的資訊。這樣就達到跨域大資料量請求的目的了。
當然通訊過程,最好加上協議,安全起見嘛。
JS 程式碼:
PHP服務端程式碼:
header('Content-Encoding: plain');
這句非常重要,如果沒有這句,在IE6下將不能返回資訊,導致回撥函式無法執行。
另外在網上找到的說法,沒經驗證
<a href=”javascript:void(0);”></a> 做為提交按鈕也會導致 ie6下 $.getJSON出錯。
提交按鈕不能放置在<form>標籤裡面,否則會form中斷了$.getJSON發出的http請求。