将外部纯文本内容读入字符串

时间:2012-04-25 09:08:25

标签: javascript http url

我有一个简单的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转义......)对我有帮助:))

1 个答案:

答案 0 :(得分: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);

(当然,这不能正确处理带空格或特殊字符的名称,但这是另一个故事。)