在客戶端使用jQuery,我想知道我是否可以檢查鏈接URL是否有效(即不返回404)。這個鏈接指向另一個域,所以如果我只使用$ .get(),那麼我最終會遇到一個權限問題。我記得閱讀了一些關於使用JSONP請求的內容,但我不記得。使用jQuery檢查另一個域上的URL是否爲404?
1
A
回答
4
我發現,似乎(YQL使用)工作的解決方案:
$.getJSON("http://query.yahooapis.com/v1/public/yql?"+
"q=select%20*%20from%20html%20where%20url%3D%22"+
encodeURIComponent(url)+
"%22&format=xml'&callback=?",
function(data){
if(data.results[0]){
// do whatever
}
}
);
假設您想要查詢的網址是在變量「網址」。
1
如果您要調用的服務器可以返回JSONP格式的響應,那麼JSONP將起作用。這基本上意味着一個腳本在加載後在頁面上調用回調函數。 請參閱http://en.wikipedia.org/wiki/JSON#JSONP
在您的情況下,除非其他站點願意合作或您在自己的站點上有代理腳本,否則它將不起作用。
如果您希望您的腳本與不受您控制的網站一起使用,那麼最好的辦法是使用代理或iframe黑客。
0
您無法向其他域請求這樣的請求。這是瀏覽器中的一項安全功能。你可能不得不嘗試在iframe或其他東西中做某些事情並檢查它。
0
JSONP不會做你多......
你應該做的是使用你喜歡的語言的服務器會簡單地裝載您傳遞給它的URL並返回響應代碼上輕鬆創建一個本地代理。然後,使用jquery ajax加載您想要測試的url的代理頁面。
+0
不幸的是我沒有選擇本地代理(我只在服務器上有一些自定義選項 - 一些自定義的HTML地方,我可以加載JavaScript)。 – 2010-01-23 14:31:45
相關問題
- 1. 使用jquery檢查URL是否有效
- 2. 檢查跨域URL是否給出404與javascript
- 3. 檢查url是否返回404
- 4. 檢查URL是否有效-404/Not Found
- 5. 檢查用戶是否在另一個域中登錄
- 6. 如何檢查url是否使用Python重定向到另一個url
- 7. Roku SceneGraph - 檢查URL爲404
- 8. 檢查另一個域
- 9. jQuery檢查是否跨域調用
- 10. 檢查URL是否爲Google
- 11. jQuery - 你可以檢查一個類是否有另一個類?
- 12. 安全地檢查用戶是否在另一個域(JSONP)上登錄
- 13. 檢查一個數是否爲另一個(其反向)的鏡
- 14. 檢查是否使用jquery
- 15. 是否有可能使用jQuery從另一個域獲取XML?
- 16. 如何檢查一個jQuery的obj是否包含另一個jQuery的obj?
- 17. Laravel - 檢查是否存在另一個URL前綴
- 18. 檢查值是否在另一個表
- 19. 檢查元素是否包含jQuery中的另一個元素
- 20. 檢查用戶是否在另一個lotusCalendar上編輯權
- 21. 檢查URL是否可用使用AngularJS
- 22. 查看來自一個域的用戶是否存在另一個域
- 23. Vb.net檢查一個數是否是另一個數的多重
- 24. 如何檢查一個ALAsset是否仍然存在使用URL
- 25. 檢查一個url是否用PHP返回一個圖像?
- 26. jQuery/canvas:檢查矩形是否穿過另一個矩形
- 27. 使用httpwebrequest檢查url是否存在
- 28. 使用PHP檢查URL是否存在
- 29. jquery - 檢查URL上是否存在查詢字符串?
- 30. 檢查是否在一個jQuery集合
來自http://api.jquery.com/jQuery.getJSON/的文檔: 如果指定的URL位於遠程服務器上,請將該請求視爲JSONP。有關更多詳細信息,請參閱$ .ajax()中關於jsonp數據類型的討論。 – 2010-01-22 19:10:58
@TahirAkhtar這是使用JSONP來要求雅虎去檢查你是否存在頁面。這就像其他人所建議的本地代理解決方案,但使用第三方代理(雅虎),而不是本地代理。 – rjmunro 2012-03-26 10:47:37
啊,非常感謝!你爲我節省了很多工作!這有助於我製作一個腳本來檢查另一個網站上的URL是否已經死亡。 – 2012-04-04 23:47:48