[英]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.