2017-04-26 18 views
3

私はjQueryライブラリを利用して、PHPファイルへのajax呼び出しを行っています。パスはこのように相対したとき、すべてが正常に働いていた:JQuery Ajax 500(内部サーバーエラー)

url:"fetch_term_grades.php", 

しかし、私はこのようにパスを変更する場合:

url:"includes/ajax/fetch_term_grades.php", 

私はコンソールからこのエラーを取得しています:

jquery-2.2.3.min.js:4 POST http://localhost/SchoolMate/includes/ajax/fetch_term_grades.php 500 (Internal Server Error) 

enter image description here

これは私のajaxコードです:

私は理解し
$.ajax({ 
     url:"includes/ajax/fetch_term_grades.php", 
     method:"post", 
     data:{"term":term}, 
     dataType:"text", 
     success:function(data){ 
      $("#result").html(data);    
      $('#dataTable').DataTable(); 
      //$('table').attr('id', 'dataTable'); 
     } 

     }); 
+6

500内部サーバーエラーは、「サーバーエラー」を意味します。あなたのサーバー側を見てください。エラーログの中には、エラーの詳細を示すものがあります。 –

答えて

0

url:"includes/ajax/fetch_term_grades.php"

これはまだ相対パスです。最初に/で試してみてください。/ +あなたのファイルシステム内のそのスクリプトへの実際のパス。多分それはurl:"/includes/ajax/fetch_term_grades.php"

+0

ありがとうございます。私の投稿はすでに更新されています。最初に/を追加しましたが、私はまだ同じエラーを受けています。 –

+0

サーバーのログには何が書かれていますか? fetch_term_grades.phpがそのエラーを引き起こさないことは確かですか?あなたはhttp://localhost/SchoolMate/includes/ajax/fetch_term_grades.php経由でそのスクリプトにアクセスできますか? – curveball

+0

私はubuntu上で、Apacheを使用しています。サーバーログを表示するにはどうすればよいですか? –

0

それはあなたがそのスクリプトを呼び出す場所によって異なります。あなたの場合、スクリプトを呼び出すファイルは、/ ajax/fetch_term_grades.phpを含む同じフォルダの下にあります。このurl includes/ajax/fetch_term_grades.phpを使用して呼び出す場合は、2つのレイヤーを配置する必要があります。つまり、includeフォルダーと並んでいる必要があります。

+0

スクリプトを呼び出すファイルがルートフォルダ内にあります。 sriptはこのフォルダ/フォルダ内にあります(/ ajax/includesを含みます)。私が正しいとすれば、スクリプトはルートフォルダの2レベル下にあると言えるでしょう。 –

+0

スクリプトを呼び出すファイルがインクルードフォルダと同じレベルにありますか? –

+0

両方が同じルートフォルダにあるかどうかを確認する場合は、答えは「はい」です。 –

関連する問題