Jaydeep Shah Ответов: 3

Ajax контроллер не вызывается в MVC


ajax url не вызывает контроллер...

url: 'Home / AddContact'
но я видел это в консоли ..it get Home/Home/AddContact ...i dont no why ..ниже приведен мой код...

Что я уже пробовал:

//контроллер
AddContact общественного ActionResult(MContact МК,ИД инт )
{
пробовать
{
var data = bal. addcontact(mc, id);
Результат.Успех = истина;
Результат.Данные = данные;

}
catch (исключение)
{
Результат.Успех = ложь;
Результат.Сообщение = " Данные Не Вставляются";
}
return Json(Result, JsonRequestBehavior.AllowGet);
}


/и JS

var submitcontact = функция () {
// $("#SupplierModal").найти(".и ошибок").removeClass("есть-ошибка");
ВАР ID = $("#идентификатор контакта").вал();
ВАР метода IsValid = истина;

если ($("#контакт-имя").функция val().отделка() == "") {
isvalid = false;
$("#контакт-имя").родитель().родитель().добавление("есть-ошибка");
}

если ($("#контакт-по электронной почте").функция val().отделка() == "") {
isvalid = false;
$("#контакт-по электронной почте").родитель().родитель().добавление("есть-ошибка");
}

если ($("#контакт-зависимости").функция val().отделка() == "") {
isvalid = false;
$("#контакт-зависимости").родитель().родитель().добавление("есть-ошибка");
}

если ($("#контакт-сообщение").функция val().отделка() == "") {
isvalid = false;
$("#контакт-сообщение").родитель().родитель().добавление("есть-ошибка");
}
если (функция IsValid) {
savecontact(удостоверение личности, $("#контакт-имя").функция val().отделка(), $("#контакт-по электронной почте").функция val().отделка(), $("#контакт-зависимости").функция val().отделка(), $("#контакт-сообщение").функция val().отделка());
}

};

var savecontact = функция (идентификатор, имя, адрес электронной почты, тема, сообщение) {

$.Аякс({

url: "Home / AddContact",
тип: "пост",
данные: {
идентификатор: идентификатор,
имя name,
электронная почта: электронная почта,
тема: тема,
сообщение: сообщение,
},
успех: функция (результат) {

если (результат.успех) {
тревога();

$("#contact-name"). val("");
$("#контакт-по электронной почте").вал("");
$("#contact-Subject"). val("");
$("#contact-Message"). val("");
$("#contact-id"). val(0);

// getSupplierList();
}
ещё {
//ошибка
}
},
ошибка: функция (результат) {
консоли.лог("ошибка");
}
});
}

Sreekanth Mothukuru

Вы используете "области"? проверьте свой маршрут один раз..

Afzaal Ahmad Zeeshan

Можете ли вы использовать url: "~/Home/AddContact"?

3 Ответов

Рейтинг:
2

RaunakGupta

пожалуйста, используйте [httppost] attibute для этого действия.


вы передаете разные данные вот так

data: {
id: id,
name: name,
email: email,
subject: subject,
message: message,
},


таким образом, он в основном ищет метод, который имеет эти параметры..
и ur action имеет только контактный объект в качестве параметра.

лучше
var data0 = {
имя: $("#contact-name"). val(),
электронная почта:$("#contact-email"). val(),
тема:$("#contact-Subject"). val(),
контакт:$("#contact-Message"). val(),
код:$("#идентификатор контакта").вал()};

var jsonContact = JSON2. stringify(data0);



$.ajax({

url:"Home/AddContact",
type: 'POST',
data: {MContact :jsonContact},
success: function (result) {

if (result.success) {
alert();

$("#contact-name").val("");
$("#contact-email").val("");
$("#contact-Subject").val("");
$("#contact-Message").val("");
$("#contact-id").val(0);

// getSupplierList();
}
else {
//error
}
},
error: function (result) {
console.log("In Error");
}
})



и ваши действия должны быть такими


//controller
public ActionResult AddContact(MContact mc)
{
try
{
var data = bal.addcontact(mc, id);
Result.Success = true;
Result.Data = data;

}
catch (Exception)
{
Result.Success = false;
Result.Message = "Data Not Insert";
}
return Json(Result,JsonRequestBehavior.AllowGet);
}


Рейтинг:
1

Harpreet05Kaur

ПРИВЕТ,

Попробуйте попасть в путь контроллера в webbrowser и протестировать его.

Также ваш может попробовать на "~/дома/AddContact" или "../домашний/AddContact" .


Рейтинг:
1

F-ES Sitecore

Вы должны использовать @Url. Action

url: '@Url.Action("AddContact", "Home")',


предполагая, что js находится непосредственно в представлении.