РЕДАКТИРОВАТЬ: Перед выполнением НИЧЕГО остальное убедитесь, что ваш сервер действительно возвращает ответ для начала.
Ваша функция успеха ожидает, что сервер вернет логическое значение,но это, вероятно, не то, что происходит.Если вы возвращаете простую строку «success» с сервера, тогда сравнение должно быть if (success === "success")
.Это полностью зависит от того, что ваш сервер возвращает в ответ.
Возможно, ваш сервер возвращает код состояния 2xx.В любом случае вы можете использовать обратные вызовы кода состояния jQuery:
$.ajax({
type: "GET",
url: url,
data: { ids: ids, dates: dates },
statusCode: {
200: function(){alert("Success!")},
201: function(){alert("Success!")}
}
});
И если вы не хотите этого делать и просто хотите использовать обратный вызов success
, попробуйте что-то вроде этого:
success: function (success) {
if (success || (success.length && success.length == 0)) { // this will almost definitely evaluate to true
console.log(success) // Do this to see what is actually being returned. I guarantee it isn't a boolean value.
alert("Success");
}
else {
alert("error");
}
}