2013-02-13 5 views
1

У меня есть форма ajax. Я пытаюсь напечатать соответствующее сообщение об успехе.ajax jquery - success html response

Так JQuery:

//start ajax 
    $.ajax({ 
     url: $(this).attr('action'), 
     type: "POST", 
     data: data, 
     cache: false, 
     success: function (html) { 
      if (html == 1) { 
       $('#getquotepopup').fadeTo('slow', 0, function(){$('#cboxLoadingGraphic').remove();}); 
      } else { 
       alert('Sorry, unexpected error. Please try again later.'); 
      } 
     } 
    }) 

и PHP на приемном конце:

if (wp_mail($to, $subject, $message)) { 
    // the message was sent... 
    //for Ajax, create response .OK. 
    return 1; 
} else { 
    return 0; 
} 

Но проблема в том, если (html == 1) всегда получает оценку ложным.

Не могли бы вы указать мне ошибку?

+0

Что действительно возвращает php на принимающей стороне? Проверьте ответ. –

+0

@DimitarDimitrov, если я запускаю php вручную, он возвращает 1. – 2013-02-13 16:48:20

+0

Нет, я имею в виду, что в javascript вы проверяли значение переменной 'html'. Если это всегда 0, это, вероятно, означает, что ваши параметры 'data' не передаются правильно. –

ответ

0

попробовать Ussing «=== 1» вместо «== 1»

-1

Я возвращающая строку текста, такие как «УСПЕХ» из вашего PHP-скрипта вместо 1 или 0.

В ожидании что, я бы также попытался сравнить javascript, как если бы это была строка с кавычками:

eg

if(html == "1")