用jquery發ajax請求跨域問題的解決

[size=medium]項目中用jquery的$.getJson發送ajax請求來獲取某網站中圖書作者的信息。注意,這裏確切已經知道該訪問地址返回的是json數據。在Eclipse中用它自帶的瀏覽器運行正常,可以正確獲得某網站返回的Json數據。當用IE或FireFox打開網頁時,發現獲取的Json數據爲null,而且有的IE瀏覽器版本運行正常,有的不正常,且提示沒有權限。上網查知道才發現,是Ajax跨域訪問的問題。
於是查找資料,希望能夠解決這一問題,網上回答很多,最多的是通過回調函數來解決,本人有點笨,最後通過網上的辦法始終沒有解決,不過好像用回調函數來解決跨域訪問問題,還需要服務端的支持。不知我理解是不是正確。
最後解決方法:用了一種類似代理的方法。
1、在程序後臺通過URL訪問獲得網站返回Json數據的數據流,將數據流封裝到一個字符串中。
2、將$.getJson中訪問地址改爲自己網站的,而該action做1中所寫的操作。將1中獲取到的字符串原樣返回即可。

通過以上的一種類似於代理的功能,便可解決jquery跨域訪問的問題。可能還有其他更簡單的方法,也許我的方法比較麻煩,但也許這也是一種比較容易理解的方法。[/size]
發佈了40 篇原創文章 · 獲贊 1 · 訪問量 4042
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章