2

Web ブラウザーで実行されている JavaScript コードからサーバー側スクリプト (.sh ファイル) の実行をトリガーしたいと考えています。

私はグーグルを検索しましたが、私が見つけたコードは私のために働いていません。

4

4 に答える 4

2

最初に、.sh ファイルを実行するサーバー側言語 (PHP、Python、RoR、PERL、ASP.NET、または JSP など) でファイルを作成する必要があります。次に、Ajax を使用してそのページを要求する必要があります。

PHP では、次のようなものです。

<?= shell_exec('sh /home/user/public_html/scripts/script.sh'); ?>

次に、JS の場合は次のようになります。

<script src="//code.jquery.com/jquery-1.8.0.min.js"></script>
<script>
var runShellScript = function () {
    $.get('/scripts/script.php', function () {
        alert('Shell script done!');
    });
};

// Some stuff
runShellScript();
</script>

jQuery や Ajax を使用したくない場合は、おそらく JSONP を使用できます。

于 2012-08-14T03:51:23.230 に答える
1

クライアントサイドのJavaScriptでこれを直接行うことはできないと思います。ただし、URLリクエストを呼び出して、サーバー側の言語(PHP、Java、Ruby ...ほとんどすべての言語)にタスクを実行させることができます。また、セキュリティの問題も必ず考慮してください。

于 2012-08-14T03:51:52.947 に答える
1

.sh ファイルが次で始まることを確認してください。

#!/bin/sh
echo "Content-type: text/html"
echo ""

.htaccess ファイルは、.sh ファイルを実行するように設定されています。

Options +ExecCGI
AddHandler cgi-script sh

次に、XMLHttpRequest を使用して URL からファイルを呼び出すだけです。http://en.wikipedia.org/wiki/XMLHttpRequest、おそらくスクリプトでjsonオブジェクトを返すことさえあります。

于 2012-08-19T09:18:27.487 に答える
0

特にJavascript でファイルを開くかどうかはわかりませんが.sh、filereader API を使用すると、一般的にファイルを開くことができます。

于 2012-08-14T02:52:17.223 に答える