相关疑难解决方法(0)

Rails没有正确解码jQuery中的JSON(数组成为带整数键的哈希)

每次我想用jQuery向Jails发布一个JSON对象数组时,我就遇到了这个问题.如果我对数组进行字符串化,我可以看到jQuery正在正常工作:

"shared_items"=>"[{\"entity_id\":\"253\",\"position\":1},{\"entity_id\":\"823\",\"position\":2}]"
Run Code Online (Sandbox Code Playgroud)

但是如果我只是将它作为AJAX调用的数据发送给我:

"shared_items"=>{"0"=>{"entity_id"=>"253", "position"=>"1"}, "1"=>{"entity_id"=>"823", "position"=>"2"}}
Run Code Online (Sandbox Code Playgroud)

然而,如果我只发送一个普通数组,它的工作原理:

"shared_items"=>["entity_253"]
Run Code Online (Sandbox Code Playgroud)

为什么Rails将数组更改为那个奇怪的哈希?想到的唯一原因是Rails无法正确理解内容,因为这里没有类型(有没有办法在jQuery调用中设置它?):

Processing by SharedListsController#create as 
Run Code Online (Sandbox Code Playgroud)

谢谢!

更新: 我将数据作为数组发送,而不是字符串,并使用该.push()函数动态创建数组.尝试$.post$.ajax,相同的结果.

arrays jquery post json ruby-on-rails

89
推荐指数
3
解决办法
3万
查看次数

标签 统计

arrays ×1

jquery ×1

json ×1

post ×1

ruby-on-rails ×1