2014-11-27 1 views
0

Ниже мой AJAX код функции:Как получить доступ к данным json и использовать в случае, если условие в следующем сценарии?

$('#request_form').submit(function(e) { 
    var form = $(this); 
    var formdata = false; 

    if (window.FormData) { 
     formdata = new FormData(form[0]); 
    } 

    var formAction = form.attr('action'); 

    $.ajax({ 
     url   : 'xyz.php', 
     type  : 'POST',  
     cache  : false, 
     data  : formdata ? formdata : form.serialize(), 
     contentType : false, 
     processData : false, 
     success: function(response) { 
      //Here I'm facing issue in checking whether the $response[error_message] is empty or not 
      if (!response.error_message) 
       alert(response.error_message); 
     } 
    }); 
    e.preventDefault(); 
}); 

Здесь в ответ следующее содержание приходит из PHP. Это содержание уже конвертированы в формат JSON с помощью метода json_encode()

{ 
    "error_message": "Id can't be blank<br>Please select Date<br>Image can't be blank<br>" 
} 

Я хочу проверить, является ли ответ массив [error_message], и ​​если это не пусто, то я хочу, чтобы показать содержимое в окне предупреждения в противном случае ничего не делать.

Пожалуйста, помогите мне в этом.

благодарит заранее.

+0

Ваше состояние, как представляется, в обратном направлении - попробуйте удалить '' ' –

+0

может быть, если (response.error_message = неопределенную && response.error_message! ! = null && response.error_message! = "") ' – turtle

ответ

1

Попробуйте это:

<script> 
$('#request_form').submit(function(e) { 
    //This should be the first line 
    e.preventDefault(); 

    var form = $(this); 
    var formdata = false; 

    if (window.FormData) { 
     formdata = new FormData(form[0]); 
    } 

    var formAction = form.attr('action'); 

    $.ajax({ 
     url   : 'xyz.php', 
     type  : 'POST',  
     cache  : false, 
     data  : formdata ? formdata : form.serialize(), 
     contentType : false, 
     processData : false, 
     success: function(response) { 

      var responseObject = $.parseJSON(response); 

      //Here I'm facing issue in checking whether the $response[error_message] is empty or not 
      if (responseObject.length != undefined && responseObject.length > 0) 
       alert(responseObject.error_message); 
     } 
    }); 

}); 
</script> 
+0

Я думаю, вы просите меня использовать ответ, а не данные в строке $ .parseJSON (данные)? – PHPLover

+0

Да, извините, я отредактировал свой ответ. Также добавлена ​​дополнительная проверка 'responseObject.length! = Undefined', если вы не определили' error_message'. Также изменено 'alert (response.error_message);' to' alert (responseObject.error_message); ' –

+0

Это происходит, если теперь, но не удается распечатать предупреждение. – PHPLover

0

Использование:

if (response.hasOwnProperty('error_message') && '' != response.error_message){ 
    alert(response.error_message) ; 
} 
Смежные вопросы