2012-10-17 54 views
0

我的jquery funcion的成功有一個問題。JQuery.Ajax()成功json

這是JS

$.ajax({ 
    type: "POST", 
    url: "filtra.php", 
    dataType: 'json', 
    data: "livello:"+ liv+"&materia:"+mat, 
    success: function (data) { 
     for (var x = 0; x < data.length; x++) { 
      content = data[x].ID; 
    alert(content); 
    } 
    } 
}); 

腳本,這是PHP頁面。

<?php 
    if (isset($_POST['livello']) && isset($_POST['materia']) && isset($_POST['keyword'])) { 
     $liv=$_POST['livello']; 
     $mat=$_POST['materia']; 
     $keyw=$_POST['keyword']; 
     $dsn = "mysql:host=localhost;dbname=db"; 
     $username = "root"; 
     $password = ""; 
     $rows=array(); 
     try{ 
      $pdo = new PDO($dsn, $username,'');} 
     catch(PDOException $e) { 
      echo 'Attenzione: '.$e->getMessage();} 
     $str="SELECT * FROM quesito"; 
     if($liv!="Tutte"){$str.=" WHERE '$liv'=Livello ";} 
     if($mat!="Tutte" && $liv!="Tutte"){$str.="AND '$mat'=Materia ";} 
     else if($mat!="Tutte" && $liv=="Tutte") {$str.=" WHERE'$mat'=Materia ";} 
     $sql = $pdo->prepare($str); 
     $sql->execute(); 
     $res = $sql->fetchAll();  
     echo json_encode($res); 
     } 
?> 

不會有任何回報.. 感謝的答覆。

+1

請務必保護代碼免受SQL注入攻擊。這個:'if($ liv!=「Tutte」){$ str。=「WHERE'$ liv'= Livello」;}'是非常糟糕的做法。轉義或修改輸入,或者更好地使用綁定變量。 – Palpatim

回答

2

你錯過了echo

echo json_encode($res); 

編輯:和誤拼寫encode

+0

已修改...但它不起作用。 – MatroxDev

+0

做一些基本的調試並返回給我們更多的信息。添加一個錯誤處理程序到您的ajax初學者請求。 –

+0

它的工作原理!謝謝! – MatroxDev

相關問題