2017-05-24 84 views
1

我想通过post请求将数组和其他变量从jQuery代码传递到php,但我不知道如何在同一时间传递数组和变量。同时将数组和变量从jquery传递到php

我试过这段代码:

var new_location_name = ""; 
var new_location_id = ""; 
var old_location_name = []; 
var selected_name = []; 
var selected_id = []; 
var user = '<?php echo $current_user ;?>'; 

    $(document).ready(
      $("#transfer").click(function(){ 
       $.ajax({ 
        type: "POST", 
        url: "update.php", 
        data: "username="+user+"&new_location_name="+new_location_name+"&new_location_id"+new_location_id+"&"+{ old_location_name : old_location_name }+"&"+{ selected_name : selected_name }+"&"+{ selected_id : selected_id }, 
       }); 
       return false; 
      }); 
    }); 

回答

0

您可以将多个参数作为数组或字符串相同。数据的左侧是API所期望的值作为参数名称。

var new_location_name = ""; 
var new_location_id = ""; 
var old_location_name = []; 
var selected_name = []; 
var selected_id = []; 
var user = '<?php echo $current_user ;?>'; 

    $(document).ready(
      $("#transfer").click(function(){ 
       $.ajax({ 
        type: "POST", 
        url: "update.php", 
        data: {username: user, 
          new_location_name: new_location_name, 
          old_location_name: old_location_name 
         } 
       }); 
       return false; 
      }); 
    }); 

你可以阅读更多在这个问题:Pass Multiple Parameters to jQuery ajax call

+0

感谢您的快速响应,如果我发送这样的数组和变量,我需要在php文件的另一边做什么来获取每个数组和每个变量的值? –

+0

它们只是php函数的参数,然后您可以将它们作为JSON访问。 – Avitus

2

创建一个对象,序列化和发送:

var obj = { 
    key1: 'value1', 
    key2: ['one','two','three'], 
    key3: { 
     key3_0: 'value3_0' 
    } 
} 
var jsonData = JSON.stringify(obj); 

$.ajax({ 
    method: "POST", 
    url: "update.php", 
    data: jsonData 
}); 
0

试试这个片断

var array = []; 
$.ajax({ url: 'update.php', 
    data: {'array' : array}, 
    type: 'post', 
    dataType:'json', 
    success: function(output) { 
     alert(output); 
    }, 
    error: function(request, status, error) { 
     alert("Error"); 
    } 
}); 
-1

第一次检查文件,该脚本必须在PHP文件,而不是.js文件;

1

JQuery的数据:

data: 
    { 
     username: user, 
     new_location_name: new_location_name, 
     new_location_id: new_location_id, 
     old_location_name: old_location_name, 
     selected_name : selected_name, 
     selected_id : selected_id 
    } 

在你的PHP脚本

<? $oldLocationName = $_REQUEST['old_location_name']; ?> 

等。