Javascript my Ajax.BeginForm中的OnSuccess脚本正在传递错误的数据
我正在开发一个as.net mvc web应用程序。我有以下Ajax.BeginForm:-Javascript my Ajax.BeginForm中的OnSuccess脚本正在传递错误的数据,javascript,jquery,ajax,asp.net-mvc,razor,Javascript,Jquery,Ajax,Asp.net Mvc,Razor,我正在开发一个as.net mvc web应用程序。我有以下Ajax.BeginForm:- @using (Ajax.BeginForm("AddServerToRack", "Server", new AjaxOptions { InsertionMode = InsertionMode.InsertBefore, UpdateTargetId = "result", LoadingElementId = "progressdialog", HttpMeth
@using (Ajax.BeginForm("AddServerToRack", "Server", new AjaxOptions
{
InsertionMode = InsertionMode.InsertBefore,
UpdateTargetId = "result",
LoadingElementId = "progressdialog",
HttpMethod= "POST"
,
OnSuccess = "addserver",
OnFailure = "createfail"
}))
{
它调用以下操作方法:-
[HttpPost]
[ValidateAntiForgeryToken]
[CheckUserPermissions(Action = "Edit", Model = "Server")]
[OutputCache(CacheProfile = "NoCache")]
public ActionResult AddServerToRack(AddServerToRack s)
{
try
{
//code goes here
repository.Save();
return Json(new { IsSuccess = true, Update="",description = "Server Added Successfully.",rackid = s.rackID }, JsonRequestBehavior.AllowGet);
}
catch (DbUpdateConcurrencyException exception)
{
return Json(new { IsSuccess = false, description = "Record was Modified by another User." }, JsonRequestBehavior.AllowGet);
}
catch (DbUpdateException exception)
{
string error = String.IsNullOrEmpty(exception.InnerException.InnerException.Message) ? exception.InnerException.ToString() : exception.InnerException.InnerException.Message.ToString();
return Json(new { IsSuccess = false, description = "Error occurred." + error }, JsonRequestBehavior.AllowGet);
}
catch (Exception e)
{
return Json(new { IsSuccess = false, description = "Error occurred." }, JsonRequestBehavior.AllowGet);
}
}
以及以下OnSuccess脚本:-
function addserver(data) {
if (data.IsSuccess = true) {
$('#progress').show();
$.ajax({
url: '/Rack/RackServer',
type: 'GET',
data: {
id: data.rackid
},
dataType:'html' ,
//error: function (xhr) {
// alert('Error: ' + xhr.statusText);
//},
success: function (result) {
$('#RackDetails').html(result);
$('#progress').hide();
},
});
jAlert(data.description, 'Creation Confirmation');
}
else if (data.IsSuccess = false)
{
jAlert(data.description,'Error');
}
}
但我面临的问题是,脚本中的$.ajax({
调用)将在data.issucess值为false时执行。因此,脚本似乎不会执行if语句检查,并且将始终执行ajax调用,即使issucess不等于true。
那么,有人能给我一些建议吗
如果您的if语句错误,请注意:
if (data.IsSuccess = true)
应该是:
if (data.IsSuccess == true)
您在addserver()方法中使用了“=”而不是“=”进行比较
使用如下
if (data.IsSuccess == true)
还是简单
if (data.IsSuccess)