这是我的jQuery ajax函数
//delete individual row
jQuery('.stdtable img.delete').click(function(){
var c = confirm('Continue delete?');
if (c) {
jQuery.ajax({
url: 'market/delete/14',
type: 'POST',
success: function () {
alert('success');
},
error: function () {
alert("error");
}
});
};
return false;
});
这是我的控制器
[HttpPost]
public ActionResult Delete(int id)
{
Using<MarketService>().Delete(int);
return View();
}
代码正在调用我的控制器,一切都很完美。 但是jQuery函数总是返回“错误”。
有什么问题?
答案 0 :(得分:1)
控制器中的代码是否已编译?您应该使用 id 删除 not int ,这是
类型[HttpPost]
public ActionResult Delete(int id)
{
Using<MarketService>().Delete(id);
return View();
}
另外,为了在没有JavaScript的情况下测试您的操作,请使用工具Fiddler。
答案 1 :(得分:1)
JQuery的
//delete individual row
jQuery('.stdtable img.delete').click(function(){
var c = confirm('Continue delete?');
if (c) {
jQuery.ajax({
url: 'Market/Delete/14', // '@Url.Action("Delete","Market")' is better. Also you should use data attribute for ajax. like this - data : { id : 14 }
type: 'POST',
success: function (data) {
alert(data.Message);
alert(data.Success);
},
error: function (xhr, ajaxOptions, thrownError) {
alert(xhr.status);
alert(thrownError);
}
});
};
return false;
});
在您的ajax网址中,您使用了市场/删除,在您的控制器名称“删除”中以大写字母开头。他们之间存在案例敏感性。
控制器
[HttpPost]
public ActionResult Delete(int id)
{
var result=new { Success="True", Message="Success"};
Using<MarketService>().Delete(id);
return Json(result, JsonRequestBehavior.AllowGet);
}