2017-02-23 78 views
-1

我是AJAX的新手,非常抱歉,如果這很簡單,但我已經看過其他所有的地方,看不到我做錯了什麼。我在做這個AJAX請求有什麼問題?

當我將$ _POST ['name']換成實際值時,例如 - $ name ='apple'; - 一切正常。但是,當我嘗試從下面的php文件中的AJAX post請求中獲取值時,它不起作用。幫幫我!提前致謝。

PHP

$name = $_POST['name']; 

$sql = "SELECT * FROM sales WHERE email = 'test' AND item = '$name' "; 
$result = mysqli_query($conn, $sql); 

    if ($result){ 

        $row = mysqli_fetch_array($result); 


        echo json_encode($row); 


       } else { 
         echo "Error: " . $sql . "<br>" . mysqli_error($conn); 
       } 

jQuery的

$(document).ready(function(){ 
    $('.option').on('click', function(){ 
    var name = $(this).val(); 
     $.post('ajax.php', {name: name}, function(data) { 

      var obj = jQuery.parseJSON(data); 
      var desc = obj[7] 
      $('#name').val(desc); 
     }); 
    }); 
    }); 

HTML

Item: <input type = "text" id = "name" size = "6"> 
    Description: <input type = "text" id = "name" size = "6"> 
    Qty: <input type = "text" id = "name" size = "6"> 
    Price: <input type = "text" id = "name" size = "6"> 
    Discount: <input type = "text" id = "name" size = "6"> 
    Account: <input type = "text" id = "name" size = "6"> 
    Tax Rate: <input type = "text" id = "name" size = "6"> 
    Amount: <input type = "text" id = "name" size = "6"> 
    <div class = "option">Apple</div> 
+0

檢查您使用var_dump($ _ POST ['name'])獲得了正確的結果; – scaisEdge

+0

你可以發佈的HTML代碼以及 –

+0

你有任何錯誤?還是什麼呢? – Condorcho

回答

2

蘋果不帶班選擇您的div的價值,它是內部HTML。

您的代碼正在檢查單擊帶有class選項的對象時單擊的元素的值。要查看與當前的代碼正確的行爲,改變

var name = $(this).val(); 

var name = $(this).html(); 

我懷疑這是你會希望你的最終解決方案看,但總是小心究竟你正在使用的方法返回。

編輯:ID的應該是唯一的,我會強烈建議不要使用相同的ID爲您的輸入對象。

+0

非常感謝,我是新來的jquery也太大聲笑 – user1849962

+1

你對一個初學者很好,但有很多微妙之處和最佳做法的HTML jQuery和CSS。雖然我是一個可怕的僞君子,我懷疑自己的工作和學習方式與你一樣,但我強烈建議閱讀一些教程和指導,以瞭解如何正確使用html jquery和css。 –

+0

乾杯,會做 – user1849962