2014-12-31 70 views
3

我是基本的ajax並使用顯示結果(表單和自定義值(如Json))ajax。我的代碼:Ajax數組值顯示錯誤

var obj = {"employees":[ 
    {"firstName":"John", "lastName":"Doe"}, 
    {"firstName":"Anna", "lastName":"Smith"}, 
    {"firstName":"Peter", "lastName":"Jones"} 
]}; 
var data = $("#userForm").serialize() + "&jsonval=" + obj;     
$.ajax({ 
        datatype : "json", 
        type: 'POST', 
        url: 'all.php', 
        data: data, 
        }) 

我的結果:

Array 
(
    [firstname] => frtr 
    [lastname] => dfgfdg 
    [email] => [email protected] 
    [num] => 2323232323 
    [num1] => 34334 
    [num2] => 2342 
    [num3] => 2432 
    [submit] => Submit 
    [jsonval] => [object Object] 
) 

Jsonval -display導致的翻譯:.plz幫助顯示結果的所有員工(名和姓)。 感謝您的功能幫助並糾正了我的錯誤。

回答

3

因爲您正在嘗試後JSON對象在後的字符串,所以你需要改變的對象轉換爲字符串

變化

var data = $("#userForm").serialize() + "&jsonval=" + obj; 

var data = $("#userForm").serialize() + "&jsonval=" + JSON.stringify(obj); 

現在你會得到JSON內容轉換爲服務器上的字符串,所以解碼jsonval服務器端的字段值

+0

感謝。 – Kannan

1

現在obj是對象其換算爲字符串與默認的toString這在對象的情況下是「[對象對象]」。相反,你應該用JSON.stringify其轉換成JSON字符串它的正常工作這

JSON.stringify(obj)