2017-06-03 29 views
-1

此Ajax調用在更改事件期間觸發,因爲它會提示$name1變量。變量未發佈到查詢中

name1變量未傳遞到data.php文件。
data.php獨立正常工作。

我該如何糾正?如何正確傳遞變量name1

<script src="https://code.jquery.com/jquery-3.2.1.min.js"></script> 
<script> 
$("#name").on('change',function (e){ 
    var name1 = this.value; 
    // alert("name1 = " + name1); 
    $.ajax ({ 
    data:{name1: name1}, 
    type: 'POST', 
    url: 'data.php', 
    success: function (response){ 
     console.log(response); 

     $('.products-wrp').html(''); 
     $('.products-wrp').hide(); 
     $('.products-wrp').html(response); 
     $('.products-wrp').show(); 
    } 
    error: function(){ 
       alert('No data found!'); 
      } 
}); 

});

data.php

<?php 
$name1 = $_POST['name1']; 
$results = $mysqli_conn->query("SELECT product_name, product_desc, product_code, product_image, product_price FROM products_list where product_name='$name1'"); 
$products_list = '<ul id ="products_list" class="products-wrp">'; 
while($row = $results->fetch_assoc()){ 
    $products_list .= <<<EOT 
    <li> 
    <form class="form-item"> 
     <h4>{$row["product_name"]}</h4> 
     <div> 
     <img src="images/{$row["product_image"]}" height="62" width="62"> 
     </div> 
     <div>Price :{$currency}{$row["product_price"]}<div> 
    </form> 
    </li> 
    EOT; 
} 
$products_list .= '</ul></div>'; 
echo $products_list; 
?> 
+0

控制檯日誌name1並驗證您是否在JavaScript中獲得name1值觸發ajax之前。 data.php和html代碼在同一位置? – divine

+0

這裏你寫了'name1'中的$ name1,所以你不會在查詢中得到它的值 –

+3

嘗試使用AJAX的錯誤函數,並告訴我們你得到了什麼 –

回答

0

$results = $mysqli_conn->query("SELECT product_name, product_desc, product_code, product_image, product_price FROM products_list where product_name='$name1'");

你得到了: product_name='$name1'。 它不應該是: product_name='{$name1}'