2017-07-11 21 views
1

私は奇妙な問題があります。昨日はすべてうまくいった。POST Jquery AJAXエラー500

次のように私は、単純なPHPファイルを持っている:Ajaxのクエリと

<?php 

    if ($_SERVER['REQUEST_METHOD'] === 'POST') { 

    echo json_encode(['messageType' => 
    'success','message'=>$_POST['key']); 

    die(); 

    } 

とJSファイル:。

$.ajax({ 

      dataType: "json", 

      type: "POST", 

      url: 'get.php', 

      data: {key: 'a'}, 

      success: function(data) { 

        alert(data.message) 

      }, 

      error: function(data) { 

      alert ('error');} 

     }); 

をフィールド 'キーが' 1つの文字(例えばに設定されている場合 " a ')、サーバーからエラー500が表示されます。しかし、少なくとも3文字に変更すれば、すべてうまく動作します。

問題は、いくつかの独立したサーバーで突然発生し始めました。

+0

私は何ができるかはわかりませんが、メッセージタイプの後にセミコロンがあるはずはないと思います。 – Phiter

+0

元のファイルにはありません。 –

+0

'500 'はPHPまたはあなたのWebサーバーによって引き起こされます。このリクエストのエラーログに表示されるphpとWebサーバーの内容を確認する必要があります。ログ内の対応する情報がなければ、推測するのは実際には不可能で、なぜ3つ以上の文字で動作するのでしょうか? –

答えて

0

エラー500は、PHPエンドポイントに何か問題があるはずであることを意味します。まず は、セミコロンを削除し、それが動作するかどうか試してみてください。

<?php 
    if ($_SERVER['REQUEST_METHOD'] === 'POST') { 
    echo json_encode(['messageType' =>'success','message'=>$_POST['key']); 
    die(); 
} 
0

(サーバー依存している)利用可能なの$ _SERVER [「REQUEST_METHOD」]変数が存在しない場合は、最初から500権利を取得します。 json_encodeも構文のために動作しませんでした。

<?php 
    if (isset($_POST['key'])) { 
    echo json_encode(array('messageType' => 'success','message'=>$_POST['key'])); 
    die(); 
    } 
?> 
関連する問題