0

私は現在、Ajaxを使用してphp配列をjavascriptで使用しようとしています。json で配列をエンコードし、php コンテンツ タイプと ajax データ型を設定しましたが、javascript が出力する json ではなく、php スクリプトを処理しようとしているようです。これは、'Unexpected Token <' エラー (php スクリプトの先頭) が常に発生するためです。

ここに私のajaxがあります:

$.ajax({
  type: 'GET',
  cache: false,
  url: 'api.php',
  dataType: "json",
  error: function(jqXHR, textStatus, errorThrown) {alert(errorThrown);},
  success: function(data) {
    alert(data);}
}); 

そして、これが私のphpです(ファイル名はapi.phpです):

<?php
header('Content-Type: application/json');
$aliases = array('angry','birds');

echo json_encode($aliases);
?>

私のphpが正しいjson形式を出力することはわかっています。ブラウザーで実行すると、出力が["angry","birds"]

何が起こっているのか理解できないようです。

4

1 に答える 1

1

ファイル システム経由でリクエストを送信しようとしているようです。サーバー/PHP はファイルを解析しないため、元のソース コードが返されます。

ファイル システム (例: file://some/path/test.html) 経由でページを開いている場合、要求もファイル システム経由で送信されます。サーバーからページを開くか、完全修飾された場所を指定する必要があります。つまり、あなたの場合、のようなものhttp://localhost/api.phpです。

于 2013-10-22T08:48:27.077 に答える