私はApacheを使用しており、からjQueryを使用してajaxリクエストを送信しindex.html
ます。はget_data.pl
上のファイルですcgi-bin
。私は得403 Forbidden error
た。誰でも私を助けてくれます。事前に感謝します。
$.ajax({
async : true,
type: "GET",
url: "get_data.pl"
}).done(function(msg){
alert("Data Saved: " + msg);
}).fail(function(xmlHttpRequest,statusText,errorThrown) {
console.log(JSON.stringify(xmlHttpRequest));
console.log(statusText);
console.log(errorThrown);
});
コンソールから得たもの:
{"readyState":4,"responseText":"<!DOCTYPE ...<title>403 Forbidden</title>...
<p>You don't have permission to access /get_data.pl\non this server.</p>\n</body>
</html>\n","status":403,"statusText":"Forbidden"}
Windows 7 です。管理者アカウントを使用して Chrome で実行しています。
しばらくして、私はまだ問題の解決策を見つけられませんでした。私の問題を再現するために、専門家に詳細を提供する必要があると思います。httpd.conf については、元の場所に基づいて場所を変更しました: 193 行目:
<Directory />
Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
次の 2 行を削除します。
Order allow,deny
Allow from all
343 行目:
<Directory "C:/Program Files (x86)/Apache Software Foundation/Apache2.2/cgi-bin">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
このセクションを次のように変更しました。
<Directory "C:/Program Files (x86)/Apache Software Foundation/Apache2.2/cgi-bin">
AllowOverride None
Options +ExecCGI
AddHandler cgi-script .cgi .pl
Allow from all
</Directory>
.pl ファイルを cgi-bin フォルダーに配置し、index.html を htdocs フォルダーに配置しました。Windows7、Win2k3 64bit、WIN2k3 32bit を試してみました。すべてに禁止エラーがあります。Apache のデフォルトの printenv.pl も使用しました。