問題の性質を誤解していると感じたため、これは以前の質問の大幅な改訂です。AJAXを介して自分のWAMPサーバー上のスタンドアロンPHPスクリプトに送信されたGETリクエストは、403 Forbidden ...に到達しますが、必要な出力が得られます。説明させてください:
私は持っています...
Full Control
全面的に権限を設定します。それらのすべて。- 127.0.0.1とlocalhostの両方を使用する完全なURLとともに、相対パスと絶対パスの両方を使用しました。
- スタンドアロンには
header('Access-Control-Allow-Origin: *');
<Directory ...>
.htaccessとhttpd.confに冗長性とAllow from all
ディレクティブを使用してApacheを再起動しました。- この8ページを通過しました
- StackOverflowで見つけたものをすべて読んでください。
- ヤギを犠牲にして、火山に処女を投げました。
ブラウザにアドレスを入力してファイルに直接アクセスし、必要な出力を確認できます。これを実行すると:
$.ajax({
type: 'GET',
url: 'lib/GetNextTags.php',
data: {
context_code : context_code
},
cache: false,
success: function (data, textStatus, jqXHR) {
//...
},
error: function( event, jqxhr, ajaxSettings, thrownError ) {
alert(event.responseText);
},
dataType: "json"
});
成功コールバックは呼び出されませんが、エラーコールバックは呼び出されます。引数として渡されたイベントオブジェクトには、取得しようとした出力が含まれていますevent.responseText
。event.readyState
は4です。すべてをUTF-8として使用json_encode()
およびエンコードしたので、jQueryでデコードに問題があったとは思いません。
だから...なぜ403?なぜエラーコールバック?