我试图通过 JQuery ajax 方法调用 ASP.NET MVC actionMethod。我的代码如下:
$('.Delete').live('click', function() {
var tr = $(this).parent().parent();
$.ajax({
type: 'DELETE',
url: '/Routing/Delete/' + tr.attr('id'),
contentType: 'application/json; charset=utf-8',
data: '{}',
dataType: 'json',
error: function(XMLHttpRequest, textStatus, errorThrown) {
alert("Error: " + textStatus + " " + errorThrown);
alert(XMLHttpRequest.getAllResponseHeaders());
},
success: function(result) {
// Remove TR element containing waypoint details
alert("Success");
$(tr).remove();
}
});
});
我的操作方法是:
[AcceptVerbs(HttpVerbs.Delete)]
public string Delete(int id)
{
// Deletion code
return " ";
}
当我在某处读到如果内容长度为 0 那么它可能会导致问题时,我返回一个空字符串,当返回类型是字符串时,我收到一个警告框,显示“错误:错误未定义”和第二个警告框为空。
如果我将返回类型设为 void,我会收到一条警报,提示“错误:parsererror undefined”,第二个警报如下:
Server: ASP.NET Development Server/9.0.0.0
Date: Wed, 22 Jul 2009 08:27:20 GMT
X-AspNet-Version: 2.0.50727
X-AspNetMvc-Version: 1.0
Cache-Control: private
Content-Length: 0
Connection: Close
最佳答案
您的 jQuery 调用需要 Json 作为请求返回。所以:
[AcceptVerbs(HttpVerbs.Delete)]
public JsonResult Delete(int id) {
// Deletion code
return Json("");
}
我也同意redsquare ,最好返回这样的逻辑消息:
[AcceptVerbs(HttpVerbs.Delete)]
public JsonResult Delete(int id) {
// Deletion code
return Json(new { Success = true });
}
//then in your jQuery function you can check the result this way :
success: function(result) {
if (result.Success) {
alert("it was deleted!");
}
else {
alert("something went wrong");
}
}
关于asp.net-mvc - ASP.NET MVC 应用程序中的 JQuery ajax 解析器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1163864/