Javascript JQuery不运行asp.net后端方法
我制作了这个JQuery脚本。它在单击btnEliminar时运行。它通过一个表运行,获取选定的行,并将每个选定行的Id添加到JSON数组中。在AJAX运行之前,一切都按预期进行。后端方法不会执行,我知道这一点,因为当我在那里设置断点时,执行不会停止。我做错了什么我是JQuery新手 JQuery:Javascript JQuery不运行asp.net后端方法,javascript,asp.net,ajax,jquery,Javascript,Asp.net,Ajax,Jquery,我制作了这个JQuery脚本。它在单击btnEliminar时运行。它通过一个表运行,获取选定的行,并将每个选定行的Id添加到JSON数组中。在AJAX运行之前,一切都按预期进行。后端方法不会执行,我知道这一点,因为当我在那里设置断点时,执行不会停止。我做错了什么我是JQuery新手 JQuery: $(document).ready(function () { $('#btnEliminar').on('click', function () { var sel = o
$(document).ready(function () {
$('#btnEliminar').on('click', function () {
var sel = obtenerSeleccionados(); //gets ids of selected rows
var listaIds = [];
$.each(sel, function (key, value) {
listaIds.push({ id: value }); //turns data as Json
});
$.ajax({
type: 'POST',
url: "frmBancoPreguntas.aspx/eliminarPreguntas",
contentType: "application/json; charset=utf-8",
dataType: "{}",
data: JSON.stringify(listaIds),
success: function (response) {
},
error: function (response) {
}
});
});
});
后端方法:
<WebMethod()> _ //imported System.Web.Services
Public Shared Sub eliminarPreguntas(ByVal listaIds As List(Of Dictionary(Of String, Integer)))
Try
For Each d As Dictionary(Of String, Integer) In listaIds
gestorP.eliminarPregunta(d.Item("id"))
Next
Catch ex As DataAccessException
MessageBox.Show(ex.Message.ToString)
Catch ex As BusinessLogicException
MessageBox.Show(ex.Message.ToString)
Catch ex As Exception
Dim x As New PresentationLayerException("Ha ocurrido un error al eliminar una pregunta", ex)
MessageBox.Show(x.Message.ToString)
End Try
End Sub
\//导入的System.Web.Services
公共共享子eliminarPreguntas(ByVal listaIds作为(字典的)(字符串的,整数的))列表)
尝试
对于listaIds中的每个d作为字典(字符串、整数)
管理人eliminarPregunta(d.项目(“id”))
下一个
捕获ex作为DataAccessException
MessageBox.Show(例如Message.ToString)
Catch ex作为BusinessLogicException
MessageBox.Show(例如Message.ToString)
特例
Dim x作为新的表示层异常(“眼睛错误”和“未经检查的情况”,例如)
MessageBox.Show(x.Message.ToString)
结束尝试
端接头
检查控制台是否有错误,但我认为这是因为Ajax调用中的数据类型“{}”
。我认为这不是正确的数据类型您是否尝试过将数据类型“{}”替换为数据类型:“json”?