我有一個AJAX調用MVC ActionResult在一個控制器,試圖返回一個BOOL。從Ajax調用返回布爾值MVC
我的Ajax調用:
function CheckForExistingTaxId() {
$.ajax({
url: "/clients/hasDuplicateTaxId",
type: "GET",
contentType: "application/json; charset=utf-8",
datatype: "json",
data: JSON.stringify({ taxId: taxId }),
});
}
我的方法:( 「客戶」 是默認路由前綴)
[HttpGet, Route("hasDuplicateTaxId")]
public ActionResult hasDuplicateTaxId(string taxId)
{
//if stuff
return Json(true, JsonRequestBehavior.AllowGet);
else
return Json(false, JsonRequestBehavior.AllowGet);
}
我想基於Ajax調用的結果打開一個模態對話框:
if (CheckForExistingTaxId())
DialogOpen();
第一個問題是,我得到一個404沒有找到客戶/ hasDuplicateTaxId。 我的路線有問題,或者我打電話的方式有問題嗎? 其次,我能否以這種方式返回布爾值,在打開對話框之前用ajax調用評估函數CheckForExistingTaxId()?
的Ajax考慮的請求成功的,如果它得到的背部 「任何」 數據(因此一個空數組意味着它成功) ,檢查你的id是否存在,如果找到了,我會返回id。 然後在你的ajax成功:檢查你的數據是否有任何對象。如果這意味着它已經存在。 另一種選擇是,如果ID已經存在,並且如果它不返回空的json,則返回一個錯誤,這樣您就可以成功處理「OK」場景:並且錯誤複製場景: 但是回答你的404問題,這聽起來像你沒有打你的API,你可以分享你的路線設置? – Puzzle84
所有路線都有「客戶」作爲前綴,不知道爲什麼我404'd – noclist