我对 ajax 调用有疑问:这是我的 ajax 调用:
$.ajax({
url: "/Article/DeleteArticle/"+id,
type: "GET",
error: function (response) {
},
success: function (response) {
}
});
这是我的 Controller :
public ActionResult DeletePicture(int id)
{
bool success = Operations.DeleteArticle(id);
return null;
}
我想知道我应该返回什么以获得内部错误?基本上什么时候调用这个错误函数?如果服务器发生错误或..?
关于成功,我如何向那里传递一些数据?
现实生活中的例子:
想象一下,我调用此 ajax 方法来删除一篇文章,当它被删除时,所以成功我想显示一些成功消息。如果失败,那么在我的操作中我会得到 success=false,我想显示一些其他消息,例如:失败。
如何实现?
最佳答案
您可以通过创建表示响应的对象来处理 Ajax 调用:
public class AjaxResponse
{
public bool Success { get; set; }
public string Message { get; set; }
}
}
然后返回如下:
public ActionResult DeletePicture(int id)
{
// success failed by default
var response = new AjaxResponse { Success = false };
try
{
bool success = Operations.DeleteArticle(id);
response.Success = success;
// Set a message for UI
response.Message = success ? "Success" : "Failed";
}
catch
{
// handle exception
// return the response with success false
return Json(response, JsonRequestBehavior.AllowGet);
}
return Json(response, JsonRequestBehavior.AllowGet);
}
然后您可以传递数据并按如下方式处理它:
$.ajax({
url: "/Article/DeleteArticle/",
type: "GET",
data : { Id : id },
dataType: 'json',
error: function (response) {
// Handle error from response.Success or response.Message
},
success: function (response) {
// Handle error from response.Success or response.Message
}
});
句柄错误可以简单地将消息显示回 HTML 元素或弹出某种 javascript 通知。
关于c# - MVC ajax调用如何处理错误响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21481361/