2016-10-30 26 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(); 
} 

}アヤックスのLive SearchのJavascriptデータ

おはようございます、私はライブ検索のAJAX要求については、以下のjavascriptを持っています。私はこのデータをdata.phpページに送ります。このページはqの取得リクエストが空であるかどうかをチェックし、そうでない場合は一致するデータが返されます。今、検索ボックスが空の場合、結果を表示せずにすべての結果を表示します。私は$ _GETリクエストがdata.phpページ で空であるかどうかをチェックしてみましたが、すべての結果を出力しましたが、それは機能しません。私は$ _GET [「qは」]空のときに何かを行うことができるように見える唯一の方法は、

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

で上記JavaScriptで今私が持っている問題は、私は場合は、すべてのデータを送信したいということです検索は空ですが、そのデータは私のPHPファイルにありますので、どのようにデータをPHPからjavascriptに送るのですか?これを行うにはより良い の方法があるかもしれませんが、ここにはないものがありますか?

答えて

0

検索文字列が空のときにすべての検索結果を表示する場合は、$ _GETのqパラメータが空の場合はdata.phpをチェックインできます。空の場合、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(); 
}