Javascript nodejs,jqueryajax,传输和接收对象的格式转换
比如说 将obj发送到节点js路由器“/test”的ajaxJavascript nodejs,jqueryajax,传输和接收对象的格式转换,javascript,jquery,node.js,ajax,Javascript,Jquery,Node.js,Ajax,比如说 将obj发送到节点js路由器“/test”的ajax var obj =new object(); obj.a='a'; obj.b='b'; $.ajax({ url:"/test", type:"POST", data:{ obj:obj },success:function(){ },error:function(){ } }); 接收obj的“/test”路由器: router.post('/test',fun
var obj =new object();
obj.a='a';
obj.b='b';
$.ajax({
url:"/test",
type:"POST",
data:{
obj:obj
},success:function(){
},error:function(){
}
});
接收obj的“/test”路由器:
router.post('/test',function(req, res, next){
for(var key in req.body){
console.log(key);
console.log(req.body[key]);
}
res.end();
});
此对象将自动转换为其他格式
{
'obj[a]':'a',
'obj[b]':'b'
}
键不是'a'
,而是转换为'obj[a]'
如何正确接收或发送
像这样:
var obj = {
a:'a',
b:'b'
};
$.ajax({
url:"/test",
type:"POST",
data:obj,
success:function(){
},error:function(){
}
});
控制台日志(req.body.obj)代码>是:
{
a:a,
b:b
}
我想您只是想将
数据:obj
传递给$.ajax()
,而不是数据:{obj:obj}
。你是将它嵌套在另一个你不想要的对象中的人
$.ajax({
url:"/test",
type:"POST",
data:obj,
success:function(){
}, error:function(){
}
});
另外,请注意,您需要一些中间件来正确地将其解析回服务器上的JSON。否则,它将只是一个字符串。我认为您只想将
数据:obj
传递给$.ajax()
,而不是数据:{obj:obj}
。你是将它嵌套在另一个你不想要的对象中的人
$.ajax({
url:"/test",
type:"POST",
data:obj,
success:function(){
}, error:function(){
}
});
另外,请注意,您需要一些中间件来正确地将其解析回服务器上的JSON。否则,它将只是一个字符串。按如下方式创建对象:
var obj = {
a:'a',
b:'b'
};
$.ajax({
url:"/test",
type:"POST",
data:obj,
success:function(){
},error:function(){
}
});
按如下方式创建对象:
var obj = {
a:'a',
b:'b'
};
$.ajax({
url:"/test",
type:"POST",
data:obj,
success:function(){
},error:function(){
}
});
如果有n个对象呢?obj_1,obj_2…obj_你创建一个更大的对象,其中包含你想要的所有对象如果有n个对象怎么办?obj_1,obj_2…obj_你创建一个更大的对象,其中包含你想要的所有对象如果有n个对象怎么办?obj_1,obj_2…obj_n@AlbertChen-
$.ajax()
文档指出,您传递的数据
属性必须是键/值对的单个对象,因为它将以aaa=xxx&bbb=yyy
或字符串或数组的url查询形式对其进行序列化。如果您想要一个更复杂的数据结构,那么只需自己用JSON.stringify()
对其进行序列化,然后在另一端对其进行JSON.parse()
即可。对于多个对象,您可以传递一个对象数组,也可以先使用JSON.stringify()
传递一个字符串,然后在服务器上使用JSON.parse()
返回数组。如果有n个对象呢?obj_1,obj_2…obj_n@AlbertChen-$.ajax()
文档指出,您传递的数据
属性必须是键/值对的单个对象,因为它将以aaa=xxx&bbb=yyy
或字符串或数组的url查询形式对其进行序列化。如果您想要一个更复杂的数据结构,那么只需自己用JSON.stringify()
对其进行序列化,然后在另一端对其进行JSON.parse()
即可。对于多个对象,您可以传递一个对象数组,也可以先使用JSON.stringify()
传递一个字符串,然后在服务器上使用JSON.parse()
返回数组。