Я пытаюсь вызвать MVC-контроллер из jquery, но не смог поместить вызов. Есть ли какие-либо проблемы в нижеприведенном коде Пожалуйста, выясните, что в случае возникновения каких-либо проблем, а также я не получаю никаких ошибок.ajax post call not working
URL = "HTTP: // локальный: 49917/Account/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));
}
Вы говорите, что это вообще не касается метода контроллера? Как примечание, 'ModelState.Clear();' бессмысленно (вы возвращаете json, а не view/model), и вы фактически ничего не делаете с возвращаемыми вами данными. –
И ваше значение 'url' не должно быть жестко запрограммировано таким образом - оно должно быть' url = "/ Account/SaveAddress" '(и предпочтительно сгенерировано с помощью' @ Url.Action() ') –
В Google Chrome загрузите свою страницу и затем нажмите F12, чтобы открыть консоль разработчика. Оттуда нажмите «Сеть». После этого вызовите свой метод ajax со страницы и посмотрите, был ли запущен какой-либо запрос или нет в консоли разработчика. –