2016-03-26 2 views
0

У меня есть следующий вид (на стороне клиента):JQuery Ajax не реагирует на Node JS

<html> 
<body> 
<script> 
    $(document).ready(function() { 
     $.ajax({ 
      url: "Search.html", 
      type: "POST", 
      dataType : "json", 

      success: function (result) { 
       console.log(result); 
       if(result.status == 200 && result.validationFailed){ 
        alert(result.message); 
       } 
      }, 

      error: function(result){ 
       console.log(result); 
       if(error.responseText == 'showAlert'){ 
        alert("Sorry, there was a problem!"); 
       } 
      } 
      }) 
      }); 
    } 
    </script> 
    <form action="/process_post" method="POST"> 
     <select name="SearchTypes"> 
      <option value="Author" selected>Author</option> 
      <option value="Mention">Mention</option> 
      <option value="Tag">Tag</option> 
     </select> 
     <input type="text" name="term"> 
     <br><br> 
     <input type="submit" value="Submit"> 
    </form> 

</body> 
</html> 

В стороне сервера, я использую Node JS для проверки данных от базы данных и ответ обратно клиент. У меня есть один случай, когда нет никаких данных в базе данных, и я хочу, чтобы сообщить пользователю, используя данные Ajax не доступны:

var query = connection.query(queryString, [term,term], function(err, rows) { 
     var res1 = {}; 
     console.log(rows); 
     var tweet = JSON.parse(JSON.stringify(rows)); 
     if (tweet.length == 0){ 
      res1.status = 200; 
      res1.validationFailed = true; 
      res1.message = 'Empty data'; 
      res.send(JSON.stringify(res1)); 
     }else{ 
      for(var i in tweet){ 
      res.write("Author: "); 
...... 

Когда я запускаю код, я не получаю предупреждение. Я на самом деле получаю следующее:

{"status":500,"validationFailed":true,"message":"Empty data"} 

Можете ли вы помочь мне с этим

ответ

0

Вы забыли установить данные в $ .ajax.

Смежные вопросы