Функция success
вызова $.ajax
получает параметр, обычно называемый data
, хотя это зависит от вас и содержит ответ, поэтому:
success: function(data) {
// Use the data
}
(Он также получает несколько других параметров, если вы хотите их; больше в документах .)
Тип параметра data
будет различаться в зависимости от типа содержимого ответа, отправляемого вашей страницей PHP. Если он отправляет HTML, data
будет строкой, содержащей разметку HTML; если ваша страница отправляет JSON , параметр data
будет декодированным объектом JSON; если это XML, data
будет экземпляром документа XML.
Вы можете использовать 1
или 0
, если хотите (если вы это сделаете, я бы, вероятно, установил тип содержимого "text / plain"), поэтому:
success: function(data) {
if (data === "1") {
// success
}
else if (data === "0") {
// failure
}
else {
// App error, expected "0" or "1"
}
}
... но когда я отвечаю на запросы Ajax, в девяти случаях из десяти я отправляю JSON назад (поэтому я устанавливаю заголовок Content-Type
на application/json
), потому что тогда, если я использую такую библиотеку, как jQuery, который понимает JSON, я верну хороший упорядоченный объект, с которым легко работать. Я не PHP-парень, но я полагаю, что вы установите тип контента с помощью setContentType
и будете использовать json_encode
для кодирования данных для отправки обратно.
В вашем случае я бы, вероятно, ответил:
{"success": "true"}
или
{"success": "false", "errMessage": "You reached the limit."}
чтобы серверный код мог указывать, какое сообщение об ошибке я покажу пользователю. Тогда ваша success
функция будет выглядеть так:
success: function(data) {
var msg;
if (typeof data !== "object") {
// Strange, we should have gotten back an object
msg = "Application error";
}
else if (!data.success) {
// `success` is false or missing, grab the error message
// or a fallback if it's missing
msg = data.errMessage || "Request failed, no error given";
}
if (msg) {
// Show the message -- you can use `alert` or whatever
}
}