2012-04-25 69 views
1

我有一個簡單的CGI腳本,將根據需要生成純文本內容。例如,http://1.2.3.4/hello.cgi?name=Joe將返回Hello Joe!讀取外部純文本內容轉換成字符串

我怎麼能讀入在Javascript中的字符串呢?

name  = "Joe"; 
url  = "http://1.2.3.4/hello.cgi?name=" + name; 
greeting = loadThis(url); 

我是新來的Javascript,所以即使幼稚的做法(即無需URL逃生...)將有助於我:)

+0

你可能想看看[這篇文章](http://stackoverflow.com/q/432144/575527) – Joseph 2012-04-25 09:13:14

+1

並記住同源政策。對於不同的來源,你必須使用某物。如[CORS](http://en.wikipedia.org/wiki/Cross-origin_resource_sharing)或[JSONP](http://en.wikipedia.org/wiki/JSONP)。 – Makkes 2012-04-25 09:29:02

+0

@Joseph目前我想弄明白的jQuery :)不過,我真的只是需要更多的單件小事而不是甚至有點,我更喜歡使用什麼比純JS更最快可能的方式,即。我希望這會很容易,並且有人可以從頭部立即在此輸入:) – 2012-04-25 09:29:29

回答

1

在此基礎上FAQ on JavaScriper.net,我已經找到解決方案,爲我工作。但是,被調用的腳本必須與調用者在同一臺機器上,否則我會從瀏覽器中收到安全錯誤。

顯然,這是什麼@Makkes提及。不過,我現在對同一臺機器上的hello.cgi非常滿意。

下面是代碼:

function loadThis(localuri) { 
    var oRequest = new XMLHttpRequest(); 

    var sURL = 'http://' 
     + self.location.hostname 
     + localuri; 

    oRequest.open('GET',sURL,false); 
    oRequest.setRequestHeader('User-Agent',navigator.userAgent); 
    oRequest.send(null); 

    if (oRequest.status==200) return(oRequest.responseText); 
    else alert('Error executing XMLHttpRequest call!'); 
} 

name  = "Joe"; 
localuri = "/hello.cgi?name=" + name; 
greeting = loadThis(localuri); 

(當然,這不會處理與空格或特殊字符正確的名稱,但這是另一回事)

相關問題