2016-10-30 2 views
0
function getData(str) { 
if (str.length == 0) { 
    var target = document.querySelectorAll("#delete"); 
    return; 
} else { 
    var xmlhttp = new XMLHttpRequest(); 
    xmlhttp.onreadystatechange = function() { 
     if (this.readyState == 4 && this.status == 200) { 
      var target = document.querySelectorAll("#delete"); 
      for(var i=0 ; i<target.length; i++){ 
       target[i].innerHTML=""; 
       target[0].innerHTML=this.responseText; 

      } 


     } 
    }; 
    xmlhttp.open("GET", "data.php?q=" + str, true); 
    xmlhttp.send(); 
} 

}Ajax Live Search Javascript Data

Доброе утро, у меня есть следующий JavaScript для запроса AJAX на живом поиске. Затем я отправляю эти данные на страницу data.php, которая проверяет, является ли запрос get q пустым, и если его нет, будут возвращены соответствующие данные. Теперь, когда поле поиска пустое, я хочу показать все результаты, а не показывать результаты. Я попытался проверить, является ли запрос $ _GET пустым на странице data.php для вывода всех результатов, но он не работает. Единственный способ, которым я, кажется, чтобы быть в состоянии сделать что-то, когда $ _GET [ «д»] пусто находится в JavaScript выше в

if(str.length==0) { 
.... 
} ; 

Теперь проблема у меня есть, что я хочу, чтобы отправить все данные, если поиск пуст, но эти данные находятся в моем php-файле, так как я могу отправить данные с php на javascript? Может быть лучший способ сделать это или есть что-то, чего я не получу здесь?

ответ

0

Если вы хотите показать все результаты поиска, когда строка поиска пуста, тогда вы можете просто проверить файл data.php, если параметр q из $ _GET пуст. Если он пуст, data.php может вернуть все данные. Ваш код может быть обновлен следующим образом:

function getData(str) { 
    var xmlhttp = new XMLHttpRequest(); 
    xmlhttp.onreadystatechange = function() { 
     if (this.readyState == 4 && this.status == 200) { 
      var target = document.querySelectorAll("#delete"); 
      for(var i=0 ; i<target.length; i++){ 
       target[i].innerHTML=""; 
       target[0].innerHTML=this.responseText; 

      } 


     } 
    }; 
    xmlhttp.open("GET", "data.php?q=" + str, true); 
    xmlhttp.send(); 
}