Javascript Symfony操作无法检索正确的AJAX JSON数据

Javascript Symfony操作无法检索正确的AJAX JSON数据,javascript,php,json,ajax,symfony,Javascript,Php,Json,Ajax,Symfony,我正在尝试将JSON对象发送到Symfony操作中 用于构建和发送阵列的脚本如下所示: var rows, arr = []; rows = table.find('table tbody tr'); arr['x'] = new Array(rows.length); table.find('table tbody tr').each(function (i) { arr['x'][$(this).find('.username').text()

我正在尝试将JSON对象发送到Symfony操作中

用于构建和发送阵列的脚本如下所示:

var rows, arr = [];

    rows = table.find('table tbody tr');

    arr['x'] = new Array(rows.length);

    table.find('table tbody tr').each(function (i) {
        arr['x'][$(this).find('.username').text() - 1] = i;
    });

    console.log(arr); //PRINTS THE PROPER JSON OBJECT

    $.ajax('some/correct/path', {
        type: 'PUT',
        data: arr,
        datatype: 'json',
        success: function (e) {
           console.log(e);
        }
    });
在这里,我有一个操作,目前只需捕获请求数据并将其发送回:

/**
 * @View\Route("/x", name="x", options={"expose"=true})
 * @View\Method("PUT")
 */
public function xAction(Request $request)
{

    $all = $request->request->all();

    return $this->json($all);
} 
这里的问题是,当我在
arr
变量上使用console.log时,它会导致正确的打印,但是当我在控制台上记录
e
时,它应该来自操作,结果是:

[]

以下是我已经尝试过的东西:

  • 使用
    数据运行
    $.ajax
    ,'sometext'
    (响应为:
    {sometext:}
  • 将方法更改为POST
  • 删除
    数据类型:“json”
  • 将数据设置为:
    JSON.stringify(arr)
  • 将数据设置为:
    {data:arr}
  • 将数据设置为:
    {data:JSON.stringify(arr)}
  • 将arr值直接设置到数组中(不使用
    ['x']
    键)
  • 清除缓存
  • 安装Linux
  • 放火烧笔记本电脑
  • 回到过去杀死希特勒
到目前为止,我已经没有办法让它正常工作了。
这里可能有什么问题,如何使其工作?

arr
应该是一个对象而不是数组。数组只有数字索引,当您添加属性
“x”
时,它将成为“类似数组”的对象

改变

arr = [];


您是否尝试过:
data:JSON.stringify(arr),contentType:“application/JSON”
?数组具有数字索引。您正在创建一个类似数组的对象作为arr.Create对象instead@DannyFardyJhonstonBermúdez sameeffect@charlietfl这成功了!你能把它贴出来作为答案吗?这样我就可以标记它了?
arr = {};