2017-04-05 95 views
-1

有人可以幫助我理解$ .ajax調用中的這個關鍵值對是否可用data:{employee_id:employee_id},?我一直在尋找網絡,我發現人們以許多不同的方式使用這個數據參數。我看到人們在那裏放置一個功能,我看到人們放置了一些關鍵值對,如name=john&age=36,最後我特別詢問了關於data:{employee_id:employee_id},。什麼是冒號,爲什麼每邊都是一樣的?這個鍵是什麼:這個ajax函數中的值對是什麼?

$(document).ready(function(){ 
     $('#add').click(function(){ 
      $('#insert').val("Insert"); 
      $('#insert_form')[0].reset(); 
     }); 
     $(document).on('click', '.edit_data', function(){ 
      var employee_id = $(this).attr("id"); 
      $.ajax({ 
       url:"fetch.php", 
       method:"POST", 
       data:{employee_id:employee_id}, 
       dataType:"json", 
       success:function(data){ 
        $('#name').val(data.name); 
        $('#address').val(data.address); 
        $('#gender').val(data.gender); 
        $('#designation').val(data.designation); 
        $('#age').val(data.age); 
        $('#employee_id').val(data.id); 
        $('#insert').val("Update"); 
        $('#add_data_Modal').modal('show'); 
       } 
      }); 
     }); 
+1

這是一個對象。 '{key:value}'...它將對象的'employee_id'屬性設置爲上面定義的'var employee_id',兩邊都是一樣的,因爲變量被命名爲與密鑰相同的東西。 – Santi

+0

http://api.jquery.com/jquery.ajax –

回答

1

行:

data:{employee_id:employee_id}, 

傳遞一個objectdata設置您.ajax()請求。冒號將鍵與對象中的值分開。

{employee_id:employee_id}是與employee_id的關鍵和employee_id值的對象,但是價值,因爲它是在設置上述幾行實際上是$(this).attr("id")

var employee_id = $(this).attr("id") 

所以筆者本來可以很容易地寫:

data:{employee_id:$(this).attr("id")}, 

從表面上看筆者發送POST請求的腳本,fetch.php,並期待employee_id,它的值來來自被點擊的元素的ID。

+0

謝謝。所以fetch.php正在等待$ _POST變量「employee_id」來查詢數據庫。爲什麼我不能傳遞「employee_id」而不是「{employee_id:employee_id}」作爲數據參數,爲什麼它需要作爲對象?我不記得我在哪裏創建了一個employee_id對象。 –

+0

對象vs字符串參數是有效的,它取決於您希望接收什麼類型的信息。如果腳本只是等待一個值,那麼一個字符串是有意義的,但是它傳遞了多個值,對象可能更有意義。 – j08691

0

通過Ajax請求,您可以發送目標網址將接收到的數據,並可以執行一些操作。我們可以在對象,一個字符串陣列

,你指的是鍵值對是對象的形式發送數據。參照您的線路:

data:{employee_id:employee_id} 

它通過一個目的是您的阿賈克斯()請求的data字段。當在另一端收到時,您可以使用此鍵來檢索該值。