我已经阅读了其他一些关于此的问题,但我仍然无法弄清楚如何让它发挥作用。
我有这个函数进行ajax调用:
function validateDataPoint(newDataPoint) {
var $form = $(this).parents('form');
var $formAction = $form.attr('action');
var $validationResult;
return $.ajax({
type: "POST",
url: "/DataPoints/ValidateNewDataPointBeforeSaving",
data: newDataPoint
});
return $validationResult;
}
这就是我在另一个函数中调用它的方式:
var validationRequest = validateDataPoint(newDataPoint);
validationResult = validationRequest.success(function (data) {
return data.Urn;
});
然后在同一个函数中,我想测试validationResult 的值,因为data.Urn 与在服务器端完成的处理相关的字符串值要么是“Success”,要么是“Failed”。
所以这里是下面的代码:
//post the Json object to the server to validate and get the result
var validationRequest = validateDataPoint(newDataPoint);
validationResult = validationRequest.success(function (data) {
return data.Urn;
});
//based on the result give the thumbs-up or thumbs-down
if (validationResult == "Success") {
resultFlag = "<span class='badge badge-success'><i class='icon-thumbs-up icon-white'></i></span>";
}
else if (validationResult == "Failed") {
resultFlag = "<span class='badge badge-important'><i class='icon-thumbs-down icon-white'></i></span>";
}
else {
resultFlag = "<span class='badge badge-warning'></span>";
}
所以问题是...
当我尝试访问 validationResult.responseText 的值时,我得到一个未定义的错误。基本上我想将 data.Urn 的值分配给 validationResult 但我无法让它工作。如果我提醒(验证结果);我得到 [object Object] 然后如果我 alert(validationResult); 我不确定。
我在这里想念什么?