使用JSON从Ajax调用获取未定义的数组类型

时间:2017-05-16 16:06:54

标签: javascript java jquery json ajax

所以我正在制作一个web应用程序,您可以在其中玩数据,但后端是Java。我创建了一个servlet来与我的Jquery通过ajax进行通信。

我通过Ajax将我生成的数组(数独)发送到我的webapp。但是,当我做一个类型时,它似乎是未定义的。这意味着我无法对数组进行任何操作

这是我的Ajax电话:

    $.ajax({
    url:"/2017_S2_Group_18/API/*",
    dataType:"json",
    success: function(data) {
        for(var i = 0; i<81;i++){
            originalSudoku[i] = $(data).attr("sudokuArray")[i];
            changedSudoku[i] = $(data).attr("sudokuArray")[i];
        }           
    }
});

orginalSudoku是无法修改的数组,changedSudoku是要修改的数组。

这是我通过浏览Ajax调用中的URL获得的输出。

{"sudokuArray":[7,6,8,1,9,2,3,4,5,1,9,2,4,3,5,6,7,8,4,3,5,7,6,8,9,1,2,8,7,9,2,1,3,4,5,6,2,1,3,5,4,6,7,8,9,5,4,6,8,7,9,1,2,3,9,8,1,3,2,4,5,6,7,3,2,4,6,5,7,8,9,1,6,5,7,9,8,1,2,3,4]}

如何解析/更改我的类型为字符串或字符或整数?

1 个答案:

答案 0 :(得分:2)

问题是因为setPosts是一个对象,并且您正在尝试使用jQuery的public function setPosts($posts = null) { $posts = is_array($posts) ? new ArrayCollection($posts) : $posts; // a post is the owning side of an association so you should ensure // that its category will be nullified if it's not longer in a collection foreach ($this->posts as $post) { if (is_null($posts) || !$posts->contains($post) { $post->setCategory(null); } } // This is what you need to fix null inside the post.category association if (!is_null($posts)) { foreach ($posts as $post) { $post->setCategory($this); } } $this->posts = $posts; } 方法(用于DOM元素)来访问它的属性。那不行。

相反,您可以像访问Javascript中的任何普通对象一样访问data的属性。试试这个:

attr()