2009-07-22 62 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