0
我不知道为什么会发生这种情况,但可以使用一些输入。为什么node.js将数组中的字符串值附加到数组中的另一个对象为true?
我有一个对象通过jquery ajax附加到POST请求的主体。目的是类似这样的例子:
var dogData = {breeds: [{Dog: "Golden Retriever"}, "Rottweiler"]}
Ajax请求是这样的:
$.ajax({
type: "POST",
url: "api/dog",
data: dogData,
})
使用快递+ bodyparser我的服务器:
app.post('/dogs', function(req, res){console.log(req.body)})
当我CONSOLE.LOG对象:
{breeds: [{Dog: "Golden Retriever", Rottweiler: true}]}
我想要th这是我最初从服务器返回的同一个对象。有人可以解释为什么字符串连同布尔值一起附加到前一个对象吗?
你真的应该发布真实的代码。从你发布的帖子开始,任何人都可以说的是“发生了一些奇怪的事情,所以你的代码中可能存在一个bug。” – Pointy
我发布了一些更多,但关于如何提出请求。我使用了与测试变量相同的对象。只是好奇为什么会发生这种情况,以及如何在不改变数据结构的情况下防止这种情况发生。 – fm722
jQuery将假定您希望它将ajax请求中'data'属性的值序列化,就好像它是表单字段属性的名称/值集合一样。如果你想发布一个原始的JSON字符串,你必须做不同的事情;究竟如何取决于你的服务器的期望。 – Pointy