将整数数组作为参数传递给Ajax调用的url

时间:2014-05-30 09:59:14

标签: ajax api asp.net-mvc-5

我知道这已被多次询问,但不幸的是,我仍然不清楚。如何将整数数组作为参数传递给Ajax调用的url?我需要在网址中显示数组的元素。

这是视图中的脚本标记:

function DeleteRoom(id, IDarray) {
    $.ajax({
        url: "/api/Room/DeleteRoom?RoomId=" + id + "&userDevicesId="+ IDarray,
        type: "DELETE",
        dataType: 'json',
        data: IDarray, //data that will be passed to the array (?)
        traditional: true, //if I get it right, this serializes the array
        success: function (data) {
        ... }
    });
}

这是API

public void DeleteRoom (int id, [FromUri] int[] IDarray)

这只从数据库中读取数组中的第一个元素,因此它只删除第一个元素。就像我通过Int一样!然后浏览器崩溃(停止脚本),我收到此错误

  

DELETE ... / api / Room / RemoveRoomWithDevices?RoomId = 2392& userDevicesId = 1549

     

204无内容62毫秒

     

XML解析错误:找不到元素位置:moz-nullprincipal

url语法错了吗?或者,是否有建议使这项工作?

1 个答案:

答案 0 :(得分:1)

您可以使用 JSON.stringify()

这是你的网址

url: "/api/Room/DeleteRoom?RoomId=" + id + "&userDevicesId="+ JSON.stringify(IDarray)

顺便说一下为什么你在ajax调用中再次使用数据属性..?由于您已在数据库中包含数据数组。