2012-07-08 77 views
1

堆棧溢出的幫助下,我現在有這樣的jsfiddle:http://jsfiddle.net/WskJT/跨域AJAX查詢

我有另一臺服務器上一個aspx文件(不能訪問此,所以該服務器的修訂不是一個選項)和離線(php不包括一個選項)我會有一個頁面,拉這個數據&刪除列按照上述小提琴。

是否有任何解決方法可以從aspx文件中獲取此數據& display(類似於)上述提琴的輸出?

我是一個熱情的新手,所以我很抱歉,如果我事先沒有措辭這個正確等

謝謝!

+1

如果服務器上有文件,但無法操作服務器,那麼聽起來像*別人*在服務器上有文件,而不是您。無法執行跨域請求是一種安全措施。如果很容易規避,那麼它就沒有多大用處。 – 2012-07-08 17:21:45

+0

@amnotiam該文件位於我們的Intranet工作中,它具有關於所有部門的各種統計信息,但我們只需要實時統計我們的統計信息。 – redditor 2012-07-08 17:24:55

+1

它在本地網絡上工作並不會改變安全性。這些數據可供公衆使用,或者不可用。如果沒有,服務器需要通過某種方式使其可用。除非目標內容與頁面位於同一個域中,否則您的頁面位於包含目標數據的域內更具體的域上,否則您將無法直接訪問它。例如,如果數據可通過「foobar.com」訪問,並且您的頁面託管在「mypage.foobar.com」上,則可以使用解決方法。 – 2012-07-08 17:31:18

回答

3

儘管服務器位於您的內部網上,正如您在註釋中指出的那樣,但您仍將面臨安全問題。你可以做的是在主頁面的同一個域中創建一個「代理」Web服務。

首先在您自己的服務器上創建一個'service.php'文件。從那裏,進行必要的curl調用到其他服務器上的ASPX頁面。任何時候調用service.php(或者稱它爲proxy.php,如果你喜歡的話),它會依次調用ASPX頁面和任何參數。讓它讀取輸出文本並將文本返回給調用者本身。

將您的AJAX代碼指向'service.php'文件。

現在您的JavaScript調用位於同一個域中,您不應該遇到JavaScript所面臨的權限問題。

+0

謝謝你的時間,但恐怕我們無法訪問服務器來完成修改(詢問IT,很長,很慢,沒有發生)。由於其公司機密信息,我也無法在付費服務器上執行此操作。我希望能夠將HTML文件存儲在我們的共享硬盤上,這樣我們就可以查看數據而無需查看其他列。在這之前,我想過只是使用一些iframe來指向並查看頁面的特定部分,這是技術上可行的解決方案,但非常難看。 – redditor 2012-07-08 17:48:26