服务器中接收到具有意外名称的jQuery.post json数据
当我使用jQuery.post提交json数据时,我遇到了一些javascript淘汰代码的问题: 我使用的是C#MVC3,我有一个以模型作为输入参数的动作。我正在从web客户端检索一个JSON形式的KO对象,并使用ajax提交它:服务器中接收到具有意外名称的jQuery.post json数据,jquery,json,asp.net-mvc-3,knockout.js,Jquery,Json,Asp.net Mvc 3,Knockout.js,当我使用jQuery.post提交json数据时,我遇到了一些javascript淘汰代码的问题: 我使用的是C#MVC3,我有一个以模型作为输入参数的动作。我正在从web客户端检索一个JSON形式的KO对象,并使用ajax提交它: $.post("MyAction", ko.toJS(myObject)); 我想在服务器上接收Request.Form变量中的所有数据,但myObject中有两个嵌套列表,我接收的数据名称如下: varname1 -> it's ok list[0][va
$.post("MyAction", ko.toJS(myObject));
我想在服务器上接收Request.Form变量中的所有数据,但myObject中有两个嵌套列表,我接收的数据名称如下:
varname1 -> it's ok
list[0][varname2] -> list[0] is OK, but I'm expecting list[0].varname2...
我正在搜索jQuery(版本1.8.3,相当旧,我知道…)代码,但我看不到代码在哪里编码参数名称
在我的JSON中,它们是正确的:
{ varname1: "somedata", list: [{varname2: "some data", varname3:"and some more"}] }
我用firebug查看了我的请求,发现发送到服务器的名称错误,所以我很确定问题出在javascript代码中
我在试着猜我怎样才能得到正确的名字
你能帮我一下吗
提前感谢大家
问候您。我认为您的json转换不正确
- 您使用的是$.post(“MyAction”,ko.toJS(myObject))李>
- 您应该使用$.post(“MyAction”,ko.toJSON(myObject));反而
ko.toJS用于将json转换为js对象。你所说的
list[0][varname2]->list[0]是什么意思,但我期待list[0]。varname2…
,你能发布你用Firebug检查过的请求吗?非常感谢,几天后(假期),我意识到。。。不过,我认为浏览器应该解析JSON对象,以正确获取变量名。。。用于转换“表单字段”中json对象以发送到服务器的代码在哪里?代码在jQuery中?外部解析器/函数,还是浏览器本身进行转换?只是好奇而已。。。非常感谢您的回复。当做