【问题标题】:Reading external plain text content into string将外部纯文本内容读入字符串
【发布时间】:2012-05-05 22:54:29
【问题描述】:

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

【问题讨论】:

  • 你可能想看看this post
  • 并牢记同源政策。对于不同的起源,您必须使用某物。喜欢CORSJSONP
  • @Joseph 我目前正在尝试从 JQuery 中理解 :) 但是,我真的只需要那个微不足道的东西,甚至不需要更多,而且我更喜欢最快的方式,即使用无非就是普通的 JS。我希望这很容易,有人可以立即从头在这里输入:)

标签: javascript http url


【解决方案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);

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-08-17
    • 2014-07-01
    • 2011-02-24
    • 1970-01-01
    • 1970-01-01
    • 2012-07-24
    • 1970-01-01
    相关资源
    最近更新 更多