2013-03-29 39 views
1

我想從另一個使用ajax post調用的服務器獲取一些信息。來自HTML頁面的跨域Ajax調用(不能使用任何代理)

$.ajax({ 
        type: 'POST', 
        url: testURL, 
        data: data, 
        //dataType: 'jsonp', 
        dataType: "script",       
        success: function (data) { 
         alert("Successfully posted (Test) : " + data); 
        }, 
        error: function (ts) { 
         alert("Inside Error : " + ts.responseText); 
        } 
       }); 

這裏testURL是我在哪裏發佈的數據URL(跨域請求是唯一可能的,如果數據類型或者是JSONP或腳本),並假設返回text/html的數據備份(什麼小提琴手說會數據的返回類型)。 我不確定我是否可以使用任何代理,因爲頁面是普通的HTML頁面。 沒有任何方法可以將文本[數據]作爲文本(至今成功期待JASONP數據和警報(「成功發佈(測試):」+數據);只顯示數據爲未定義。我無法對API或遠程服務器上的任何更改進行更改。 感謝您的幫助提前。

Regards

回答

1

沒有代理,你不能這樣做。如果那是在一個窗口框中,你可以創建一個COM對象來調用該服務器,並從你的JavaScript調用該COM。

UPDATE:

那麼它似乎可以用JSONP

jsonp with jquery

+0

感謝您的答覆,我已經tryied的數據類型JSONP(抱歉不提所需要的數據是有,但瀏覽器throughing SyntaxError:chrome中的意外標識符和SyntaxError:missing; Mozila中的before語句)以及reson可能是請求的返回類型(它是text/html而不是jsonp或json),但我將對我的代碼進行更改爲在你給出的鏈接上的帖子解釋,謝謝 –

+0

什麼技術你正在使用嗎?我記得我的朋友有同樣的問題。他使用的是PHP,所以他所做的是創建一個新的PHP Util頁面來進行遠程調用,然後更改他的javascript來調用該PHP頁面,這是非常容易的,您可以執行此操作。 – Marco

+0

是的,這很容易與PHP通過創建代理(用於遠程調用),但我只依賴於ajax調用和HTML頁面,不能使用PHP,asp或asp.net。 –