Недавно я столкнулся с проблемой при вызове ASP.NET POST Web Method из jQuery AJAX. Тем не менее, каждый раз, когда я запускаю эту программу вызов AJAX отвечает error: undefined
Ajax call to asp.net Метод POST
var departmentBO = {
dept_id: "",
dept_name: "",
msg: "",
isException: ""
};
function updateDepartment() {
$.ajax({
type: 'POST',
dataType: 'json',
async: false,
data: JSON.stringify(departmentBO),
url: 'AdminPanel.aspx/UpdateDepartmentNameJSON',
cache: false,
contentType: 'application/json; charset=utf-8',
success: function (data) {
alert('Department Name Updated');
},
error: function (xhr, err) {
alert(xhr.responsetext);
}
});
}
[WebMethod]
public static string UpdateDepartmentNameJSON(DepartmentsBO departmentBO)
{
string jsonOutput = null;
try
{
jsonOutput = JsonConvert.SerializeObject("It is Working");
}
catch (Exception ex)
{
}
return jsonOutput;
}
отдела BO Класс:
public class DepartmentsBO
{
public string dept_id { get; set; }
public string dept_name { get; set; }
public string msg { get; set; }
public Boolean isException { get; set; }
}
Что мне не хватает? Можете ли вы мне помочь в этом сценарии.
Пожалуйста, удалите 'async: false'. Это считается ужасной практикой, поскольку он блокирует браузер до тех пор, пока запрос не завершится. Свойства объекта 'departmentBO', которые вы отправляете, точно соответствуют свойствам вашего класса' DepartmentsBO'? –
Он работает «является допустимым выходом json? Я не думаю, что так – madalinivascu
вам нужно сначала преобразовать ваш jsonOutput в JSON, а затем вернуть его. – Mark