2009-07-22 60 views
0

这里是我的代码,通过AJAX发送表单,然后是为了显示一条消息给用户问题与得到一个JSON字符串

var postValues = { 
       name: $($nameObject).val(), 
       email: $($emailObject).val(), 
       message: $($messageObject).val(), 
       form: $(this).find('input[name=form]').val() 
      }; 


      var form = this; 


      $.post(config.basePath + 'contact/', postValues, function(data) { 

       // get json here and make sure it sent 



       console.log('done request!'); 

       console.log(data.success); 

       var $statusObject = $(form).find('.status-message'); 


       if (data.success) { 

        console.log(data.message); 

        $statusObject.removeClass('failed').text(data.message); 

        setTimeout(function() { 

         $statusObject.fadeOut(1500).remove(); 

         $(form).find('input[type=text], textarea').val(''); 

         $(form).find('button[type=submit]').removeAttr('disabled').parent('div').removeClass('sending'); 


        }, 1500); 

       } else { // error with ajax 

        $statusObject.addClass('failed').text(data.message); 
        $(form).find('button[type=submit]').removeAttr('disabled'); 

       } 




       }, 'json'); 



      return false; 


     }); 

萤火虫说,返回的JSON是

{ “成功”:真实的, “消息话题”: “已发送 成功”}

我可以很容易地得到data.success价值,但每当我尝试访问data.message它被设置为'未定义'。

然而,当我

console.log(data)

我得到正确的输出到萤火虫:

对象成功=正确讯息话题=发送成功

什么听起来这是因为什么?这让我有点疯狂!

在此先感谢您的帮助。

回答

1

它看起来像你在Firebug中的返回字符串是我sss年龄...注意额外的s。我觉得这可能是你的问题;)

+0

我给你接受的答案,因为你有最少的代表:) – alex 2009-07-22 02:46:33

1

您正在尝试访问data.message,但您的JSON有data.messsage。有三个esses。

+0

哇!我知道它必须是这样的愚蠢。谢谢混乱:) – alex 2009-07-22 02:43:19