【问题标题】:Sending an array to php from JavaScript/jQuery [duplicate]从 JavaScript/jQuery 向 php 发送数组 [重复]
【发布时间】:2011-07-12 10:47:06
【问题描述】:

可能重复:
send arrays of data from php to javascript

我知道有很多这样的问题,但我发现它们都不是那么清楚。

我有一个像这样的 Ajax 请求:

$.ajax({
    type: "POST",
    url: "parse_array.php",
    data: "array=" + array,
    dataType: "json",
    success: function(data) {
        alert(data.reply);
    }
});

如何将 JavaScript 数组发送到 php 文件,以及将其解析为 php 数组的 php 是什么样的?

我正在使用 JSON。

【问题讨论】:

    标签: php javascript jquery arrays json


    【解决方案1】:

    第一步

    $.ajax({
        type: "POST",
        url: "parse_array.php",
        data:{ array : JSON.stringify(array) },
        dataType: "json",
        success: function(data) {
            alert(data.reply);
        }
    });
    

    第 2 步

    你的 php 文件看起来像这样:

    <?php 
    
    
    
      $array = json_decode($_POST['array']);
        print_r($array); //for debugging purposes only
    
         $response = array();
         if(isset($array[$blah])) 
            $response['reply']="Success";
        else 
            $response['reply']="Failure";
    
       echo json_encode($response);
    

    第三步

    成功函数

    success: function(data) {
            console.log(data.reply);
            alert(data.reply);
        }
    

    【讨论】:

    • 非常感谢您的及时回答:)
    • 你想对来自JSON.stringify的结果进行URL编码,我想,所以你的一个对象字符串中的一个流浪&amp;不会过早地切断你的字符串并中断你的 JSON。
    • @cHao 同意,我稍微改变了它以使用对象表示法,这将强制 jQuery 处理 URLencoding 以便您可以忽略
    【解决方案2】:

    你可以只传递一个 javascript 对象。

    JS:

    var array = [1,2,3];
    $.ajax({
        type: "POST",
        url: "parse_array.php",
        data: {"myarray": array, 'anotherarray': array2},
        dataType: "json",
        success: function(data) {
            alert(data.reply); // displays '1' with PHP from below
        }
    });
    

    在php端你需要打印JSON代码:

    PHP:

    $array = $_POST['myarray'];
    print '{"reply": 1}';
    

    【讨论】:

      【解决方案3】:

      你好,

      parse_array.php 上使用 json_encode()

      并使用json_decode()检索数据

      【讨论】:

      • 为什么要在 php 中对数组进行编码?我想在php中使用它。
      • 是的,我知道如何将 json 发送回 jquery。这不是我的问题。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-14
      • 2017-06-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多