Это может показаться немного смешным, даже не знаю, как поставить название вначале. Это может быть из-за долгих часов работы, или я просто делаю что-то не так.
У меня есть файл, скажем, comment.php, который содержит что-то похожее на:
var params = $('form#myform').serialize();
$.get("/ajax/file.php?"+params, function(data){
if (data == 'error') {
$('#message').html('Error');
} else if (data == 'success') {
$('#message').html('Success');
}
});
Я проверил это с помощью firebug, и все в порядке, ошибок JS нет, файл вызывается и возвращает либо «error», либо «success», но все же в теле вызова ajax data не соответствует ответу сервера. Я тогда изменил
if (data == 'error') {
$('#message').html('Error');
} else if (data == 'success') {
$('#message').html('Success');
}
с
if (trim(data) == 'error') {
$('#message').html('Error');
} else if (data == 'success') {
$('#message').html('Success');
}
где trim () - это написанная мной функция, которая удаляет все пробелы до или после строки. Я также попробовал сделать так, чтобы файл назывался повторяющимися числами и выполнял проверку с помощью jQuery, например:
if (data == 1) {
$('#message').html('Error');
} else if (data == 'success') {
$('#message').html('Success');
}
без результатов. Если я только оповещение (данные) все выглядит жестко. Оба файла находятся в одном домене. Мой код точно такой же, как в примере, только у меня больше условий if / else, и одно из них должно всегда совпадать (это происходит, если я смотрю в firebug). Я также попытался использовать оператор switch безрезультатно.
Я уже давно пользуюсь этим методом, и у меня никогда не было проблем. Идеи?