Ajax数组值显示错误

时间:2014-12-31 09:57:46

标签: html ajax json

我是基本的ajax并使用显示结果(表单和自定义值(如Json))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] => praneshkanna@gmail.com
    [num] => 2323232323
    [num1] => 34334
    [num2] => 2342
    [num3] => 2432
    [submit] => Submit
    [jsonval] => [object Object]
)

Jsonval -display结果[object Object] .plz帮助显示结果所有员工(名字和姓氏)。 感谢您的功能帮助并纠正我的错误。

2 个答案:

答案 0 :(得分:3)

因为您试图在帖子字符串中发布JSON对象,所以您需要将Object更改为字符串

更改

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

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

现在,您将在服务器上将JSON内容转换为字符串,因此在服务器端解码jsonval字段值

答案 1 :(得分:1)

现在obj是 Object ,它转换为 String ,默认 toString ,在 Object的情况下是“ [对象]“。相反,您应该使用 JSON.stringify 将其转换为JSON String

JSON.stringify(obj)