【问题标题】:pass arrays and variables from jquery to php at the same time同时将数组和变量从 jquery 传递到 php
【发布时间】:2017-05-24 13:50:24
【问题描述】:

我想使用 post 请求将数组和其他变量从 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;
            });
    });

【问题讨论】:

    标签: php jquery


    【解决方案1】:

    创建一个对象,将其序列化并发送:

    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
    });
    

    【讨论】:

      【解决方案2】:

      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']; ?>
      

      等等。

      【讨论】:

        【解决方案3】:

        您可以将多个参数作为数组或字符串一样传递。数据的左侧是 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

        【讨论】:

        • 感谢您的快速响应,如果我发送这样的数组和变量,我需要在 php 文件的另一端做什么来获取每个数组和每个变量的值?
        • 它们只是 php 函数的参数,然后您可以将它们作为 JSON 访问。
        【解决方案4】:

        试试这个sn-p

        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");
            }
        });
        

        【讨论】:

          【解决方案5】:

          第一次检查文件,这个脚本必须是.php文件,而不是.js文件;

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多