0

簡単なフォーム入力デモを作成しています。値はフォームから変数に保存され、json オブジェクトに入れられ、ajax 経由で送信されます。

Json オブジェクトは検証されますが、$.ajax のデータ フィールドでそれを参照するにはどうすればよいですか? 私のコード:

$(document).ready(function() {
  $('.submitForm').on('click',function(event){
event.preventDefault();

    var firstName = $('#firstName').val();
    var lastName  = $('#lastName').val();
    var phone     = $('#phoneNumber').val();
    var address   = $('#address').val();
    var $out      = $("#formResults");

    $out.append("<p>" + firstName  +' '+ lastName + "</p>" +                                       
                "<p>" + $('#phoneNumber').val() + "</p>" + 

                    //json object
                     {
                       "firstName" : "firstName", 
                        "lastName" : "lastName",
                        "phoneNumber" : "phoneNumber",
                        "address" : "address"
                       }


                         $.ajax({
                         url: 'http://localhost/xyz/markup/',
                         method:  'GET',
                         data: jsonObject
                         error: alert("error")
                         complete: alert ("complete")
                                                 });
                                     });            
                                     });

ありがとう!

4

1 に答える 1

4
"firstName" : "firstName",

する必要があります

"firstName" : firstName,
              ^---     ^---note lack of quotes

他の 3 つのフィールドについても同様です。

あなたがやろうとしているのはstring:string、の代わりですstring:variable

同様に、コードのどこにもjsonObject実際に定義されていません。

重要な注意: JSON テキストを自分で作成しないでください。とても危険です。1 つの構文エラー (通常は引用符の位置が間違っています) があり、json オブジェクト全体が無効になります。通常の JS データ構造を構築してから、提供されている json エンコーディング機能を使用して json 文字列を生成する方がよいでしょう。

于 2012-10-23T14:37:59.207 に答える