2017-11-11 57 views
-1

我存儲在笨電腦板「迴應」,此數據:人幫助我一下AJAX JSON

{ 
    "ok": false, 
    "messages": { 
    "cgusrnm": "<p class=\"text-danger\">The Full Name field is required.<\/p>", 
    "cgnnm": "<p class=\"text-danger\">The Nick Name field is required.<\/p>", 
    "cgeml": "<p class=\"text-danger\">The Email Address field is required.<\/p>", 
    "cgunm": "<p class=\"text-danger\">The User Name field is required.<\/p>", 
    "cgpsd": "<p class=\"text-danger\">The Password field is required.<\/p>", 
    "ccgpsd": "<p class=\"text-danger\">The Confirm Password field is required.<\/p>", 
    "cgcnm": "<p class=\"text-danger\">The Company Name field is required.<\/p>", 
    "cgadr": "<p class=\"text-danger\">The User Address field is required.<\/p>", 
    "cgct": "<p class=\"text-danger\">The City field is required.<\/p>", 
    "cgcnt": "<p class=\"text-danger\">The Country field is required.<\/p>", 
    "cgzn": "<p class=\"text-danger\">The State field is required.<\/p>", 
    "cgzc": "<p class=\"text-danger\">The Zip Code field is required.<\/p>", 
    "cgpn": "<p class=\"text-danger\">The Phone Number field is required.<\/p>", 
    "cgsn": "<p class=\"text-danger\">The Skype Name field is required.<\/p>", 
    "pm": "<p class=\"text-danger\">The Payment Method field is required.<\/p>", 
    "cgpeml": "<p class=\"text-danger\">The Email Address field is required.<\/p>" 
    } 
} 

但AJAX文件無法讀取該陣列。

我的Ajax代碼:

$('#form_user').submit(function(e) { 
    e.preventDefault(); 

    var me = $(this); 

    $.ajax({ 
    url: me.attr('action'), 
    type: 'post', 
    data: me.serialize(), 
    datatype: 'json', 
    success: function(response) { 
     if (response.ok == true) { 
     alert('response'); 
     } else { 
     $.each(response.messages, function(key, value) { 
      var element = $('#' + key); 
      element.after(value); 
     }); 
     } 
    } 
    }); 
}); 

請幫助我。

+0

它可能是'response.data.ok'。 'console.log'取出'response'的值並調查它的結構。 – ceejayoz

+0

我在本教程中流動https://youtu.be/H1sHOvc8au0 – Abdullah

+0

我沒有看YouTube教程來回答這個問題。使用'console.log'來查看'response'的值是什麼。相應地調整代碼。 – ceejayoz

回答

0

消息不是數組而是對象。 JSON數組看起來像{message:[「a」,「b」]}

+0

以便我如何正確完成我的工作 – Abdullah

+0

爲什麼無法工作我的代碼?我流這個教程https://youtu.be/H1sHOvc8au0 – Abdullah

1

即使數據類型是json,response變量的類型仍然是字符串。嘗試添加response = JSON.parse(response);將字符串轉換爲JavaScript對象。

+0

非常感謝你。 – Abdullah

+0

原因是你稱它爲'datatype'而不是'dataType'。 'datatype'不做任何事情。您可以擺脫'JSON.parse'並將其更改爲'dataType'。 –

+0

謝謝大衛,我想知道爲什麼它不起作用。我很困惑... –