[英]ajax post call not working
我正在嘗試從jquery調用MVC Controller,但是無法發出呼叫。 下面的代碼是否有任何問題,請找出是否有任何問題,並且我也沒有任何錯誤。
URL = “HTTP://本地主機:49917 /帳號/ SaveAddress”
this.SaveAddress = function (url, addressData) { $.ajax({ type: "POST", url: url, dataType: "json", data: JSON.stringify(addressData), contentType: 'application/json; charset=utf-8', success: function (responseDetail) { }, error:function(e) { }, }); return 0; };
public async Task<ActionResult> SaveAddress(AddressListViewModel addressListVM)
{
bool response;
string message;
if (addressListVM.ID <= 0)
{
response = await Task.Run(() => AccountManager.Instance().AddAddress(addressListVM));
message = response ? "New address added successfully." : "Failed to add new address.";
}
else
{
response = await Task.Run(() => AccountManager.Instance().UpdateAddress(addressListVM));
message = response ? "Selected address updated successfully." : "Failed to update selected address.";
}
ModelState.Clear();
return Json(new { responsestatus = response, message = message }, JsonRequestBehavior.AllowGet);
//return PartialView("_AddressDetail", BuildAddressListEntity(
// UserManager.FindById(User.Identity.GetUserId()), response, message, addressListVM.ID, true));
}
是的,您在this.saveaddress函數末尾缺少右括號
this.SaveAddress = function (url, addressData)
{
$.ajax({
type: "POST",
url: url,
dataType: "json",
data: JSON.stringify(addressData),
contentType: 'application/json; charset=utf-8',
success: function (responseDetail) {
},
error:function(e)
{
},
});
畢竟,..您還需要一個結束括號:
}
;)
控制台顯示什么? 如果使用的是Chrome,請右鍵單擊,選擇“檢查”,然后找到“控制台”選項卡。 如果正確調用了AJAX函數,則必須在此“控制台”選項卡中顯示某些內容,這可能會比我對我所擁有的信息的指導更好。
在成功和錯誤功能中設置一個斷點。 如果它命中了錯誤函數,則問題可能是找不到控制器動作或數據無效json(發布數據或返回數據)。 您應該將errorThrown參數添加到錯誤函數中,以便可以輕松查看問題所在。 如果數據已經是有效的json,則也不需要對數據進行字符串化處理,但是如果它是表示json數據的字符串,則將需要使用json.parse(對於錯誤的情況,抱歉)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.