0

在嵌套对象上使用 JSON.stringify() 的正确方法是什么?我从需要 JSON 字符串的 api 调用中收到错误请求:

testData = {"credentials": {"user": "test@email.com", "password": "testpassword", "country": "us"}};

当我查看 postDasta 时:

"{"credentials": {"user": "test@email.com", "password": "testpassword", "country": "us"}}";

$.ajax({
    ...
    data: JSON.stringify(testData),
    ...
});

谢谢,

Ĵ

4

3 回答 3

2

我正在寻找的答案是:您需要使用 JSON.stringify 首先将您的对象序列化为 JSON,然后指定内容类型,以便您的服务器理解它是 JSON。

因此,如果服务器需要 JSON,则 contentType 和 stringify 是必要的。

于 2013-10-30T19:10:56.143 回答
1

如果是jQuery(看起来是这样),则data参数接受一个对象并执行必要的序列化以将其作为关联数组传递给服务器。如果在传递之前,您不会对其进行字符串化。

于 2013-10-29T00:38:24.400 回答
1

jQuery.ajax()方法的 data 参数不采用 json 字符串作为值。它要么需要一个查询形式的字符串(test=value&otherstuff=othervalue),要么需要一个对象,如上面链接文档中所述。

于 2013-10-29T00:38:40.460 回答