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エスケープする必要はありません...)でも役に立ちます:)

4

1 に答える 1

1

JavaScriper.netに関するこのFAQに基づいて、私は自分に合った解決策を見つけました。ただし、呼び出されたスクリプトは呼び出し元と同じマシン上にある必要があります。そうでない場合、ブラウザーからセキュリティエラーが発生します。

どうやらこれは@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);

(もちろん、これはスペースや特殊文字を含む名前を正しく処理しませんが、それは別の話です。)

于 2012-04-25T12:46:28.850 に答える