2010-03-22 26 views
0

我正在使用此Ajax腳本(http://www.dhtmlgoodies.com/index.html?whichScript=ajax-dynamic-content)從另一個服務器上的aspx頁面加載內容,而不是調用內容的頁面。到目前爲止,我已經知道,這是一個不行。問題似乎是,當使用內容的絕對鏈接時,腳本會失敗,因爲使用相對鏈接。來自.aspx的Ajax動態內容頁面

我已經在網上搜索了大約10個小時了,而且我還沒有找到我要找的東西。 我需要這裏的一些專家幫助。感謝任何幫助。

問候 納米

回答

0

如果URL是絕對或相對不要緊,所有重要的是,該服務器是不同的。請參閱Same Origin Policy

的解決方法是:

  1. 代理通過同一主機的頁面加載腳本
  2. 使用JSON-P作爲數據格式
  3. 使用的東西,這對於跨域請求選項上的URL數據(例如Flash
+0

謝謝彼得和大衛的快速回復。 很明顯,你們比我更聰明一些。我不確定「通過URL代理數據......」的含義。我已閱讀關於http://api.jquery.com/jQuery.getJSON/上的jsonp。我希望這是閱讀jsonp最好的地方。 無論如何,它似乎是我在漫長的夜晚理解jsonp並編寫必要的代碼。謝謝你回答我的問題! – Nano 2010-03-22 21:20:59

+0

對數據進行代理意味着「使用Ajax從本地服務器獲取數據,通過向第三方服務器發送請求(使用服務器端腳本)將這些數據放在一起 – Quentin 2010-03-22 21:26:26

+0

jQuery文檔是瞭解JSON的一個可怕的地方-P - 不僅僅是因爲它假設你知道JSON-P已經是什麼了 – Quentin 2010-03-22 21:26:52

0

無法以這種方式從另一個域加載內容(瀏覽器不允許出於安全原因)。儘管你有選擇。如果您確實需要跨域AJAX(這就是它所稱的),那麼您可能需要考慮爲您的AJAX使用jQuery和JSON-P。 Flash,iframe和代理也有幾個選項(它們都不是很簡單)。