2012-01-02 9 views
0

こんにちは、私は、jquery ajax関数を使用して、javascriptからPHPにいくつかの変数を渡した後に応答を取得しようとしています。jquery ajax変数をPHPにする

このjqueryのAjaxコードさ:

$(document).ready(function() { 

    $("#invoice_submit_button").click(function() { 

     var action = $("invoice_form").attr('action'); 

     $.ajax({ 
      type: "POST", 
      url: action, 
      data: $('form#invoice_form').serialize(), 
      dataType: "json", 
      success: function(response) { 
       if (response.error == 'none') { 
        $("#ajax_response").html("<p>" + response.msg + "</p>"); 
       } 
       else { 

        $("#ajax_response").html("<p>" + response.msg + "</p>"); 

       } 
      } 
     }); 

     return false; 
    }); 
}); 

(それが仕事に取り掛かるときresponse.errorに応じて、異なる出力があるでしょうOFC、それは単なる例です)

これはPHPでコード:

$msg="Bla bla"; 
$error="form_err"; 
$result = array('msg' => $msg, 'error' => $error); 
$result_json = json_encode($result); 
echo $result_json; 

は放火犯を使用してデバッグは、転記一部に問題がないことを示しているが、このスクリプトは、PHPからの応答を取得(およびタージェにそれを印刷することはできませんように見えますt div)。 私は何かが欠けている、私は他のスクリプトのための同じ方法を使用し、それは常に働いています。 ありがとう

+2

jQueryが 'invoice_form'要素を見つけることができないので、' action'は空です。 '$(" invoice_form ")。attr( 'action');' '$(" invoice_form ")でなければなりません。要求が正しいURLに送信されていますか? –

+0

よかった、ありがとう。私は古いスクリプトからコピー貼り付けを失った。 編集:何かコメントを書いてもいいですか? – g0dl3ss

+0

私はあなたがそれを受け入れることができるように答えとして私のコメントを提供しました。 –

答えて

0

actionは空です。

$("invoice_form").attr('action');$("#invoice_form").attr('action');である必要があります。

リクエストが正しいURLに送信されましたか?

1

PHPスクリプトでcontent typeをapplication/jsonに設定しようとしましたか? jQueryの要素invoice_formを見つけることができないよう

header('Content-type: application/json'); 
+0

おそらく違いはありません。 –

関連する問題