通过ajax发送json对象

时间:2012-10-23 14:34:57

标签: javascript ajax json

我正在创建一个简单的表单输入演示。值从表单存储在变量中,然后将它们放入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")
                                                 });
                                     });            
                                     });

谢谢!

1 个答案:

答案 0 :(得分:4)

"firstName" : "firstName",

应该是

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

和其他3个领域类似。

您正在尝试string:string,而不是string:variable

同样,代码中没有任何地方jsonObject实际定义。

主要注意事项:不要自己构建JSON文本。这是非常危险的。一个单一的语法错误(通常错位的引用)和整个json对象变得无效。你最好建立一个普通的JS数据结构,然后使用提供的json编码工具来生成json字符串。