сравнение строк оператора 'If' jQuery, не работающее

Мне очень нелегко пытаться сделать что-то очень простое. Вот код:

        if(data == 'success') {

            alert('foo');

        } else {

            alert(data);

        }

Я упростил его, но это - все, что это необходимо понять то, что продолжается. переменные 'данные' являются результатом вызова Ajax, если это имеет какое-либо значение. Проблема состоит в том, что это всегда 'еще' переходит в оператор, и это предупреждает 'успех', который это не было должно, если это 'еще' переходит в. Какая-либо идея, что продолжается здесь?

Править: Вот полный код Ajax в jQuery:

$.post("/manage_sites.php", {before:before, edit:after}, function(data){

        if(data == success) {

            alert('blah');

        } else {
            alert(data);
        }
    });

И затем в ответе PHP:

...code....
$update = mysql_query("UPDATE users SET feeds = '$afterFeed' WHERE username = '$name'") or     die("Query Failed");

if($update) {

    echo  'success';  //this is the 'string' that is being given to 'data'
}
11
задан williamg 13 July 2010 в 01:05
поделиться

2 ответа

Вы можете исправить это на стороне клиента, используя $.trim() вот так:

if($.trim(data) == 'success') {

Или, лучшим подходом будет удаление новой строки, идущей со стороны сервера, возможно, где-то в вашем PHP ошибочная новая строка, проверьте до или после блока , это наиболее частое место, где они появляются.

Или просто выйдите после вывода содержимого, например так:

if($update) {
  echo 'success';
  exit();
}
29
ответ дан 3 December 2019 в 03:03
поделиться

Вы можете удалить завершающую строку ?> в вашем файле, если это последняя строка в файле. Я хочу ответить на комментарии к исходному вопросу, но не вижу как.

0
ответ дан 3 December 2019 в 03:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: