我知道这已被多次询问,但不幸的是,我仍然不清楚。如何将整数数组作为参数传递给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语法错了吗?或者,是否有建议使这项工作?
答案 0 :(得分:1)
您可以使用 JSON.stringify()
这是你的网址
url: "/api/Room/DeleteRoom?RoomId=" + id + "&userDevicesId="+ JSON.stringify(IDarray)
顺便说一下为什么你在ajax调用中再次使用数据属性..?由于您已在数据库中包含数据数组。