Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
服务器中接收到具有意外名称的jQuery.post json数据_Jquery_Json_Asp.net Mvc 3_Knockout.js - Fatal编程技术网

服务器中接收到具有意外名称的jQuery.post json数据

服务器中接收到具有意外名称的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

当我使用jQuery.post提交json数据时,我遇到了一些javascript淘汰代码的问题:

我使用的是C#MVC3,我有一个以模型作为输入参数的动作。我正在从web客户端检索一个JSON形式的KO对象,并使用ajax提交它:

$.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中?外部解析器/函数,还是浏览器本身进行转换?只是好奇而已。。。非常感谢您的回复。当做