【问题标题】:Array to php and retrieve [duplicate]数组到php并检索[重复]
【发布时间】:2013-10-15 14:48:36
【问题描述】:

我需要帮助,我找不到解决方案。我有一个 javascript 数组,我需要将它传递给一个 php 脚本,该脚本将在 Session 变量上存储所有数组值(最多 3 个)。我的 javascript 数组来自 string.split 调用:

var indentificators = id.split("_");

我需要的是一些关于如何进行 Ajax 调用以及如何一一获取数组的每个元素的帮助。

我的主要问题是这些数据必须发送的格式以及如何检索它。

PD:我会发布我当前的 ajax 调用代码,但我认为这无济于事,一切都搞砸了。

【问题讨论】:

  • 即使它搞砸了,我们也很感激您发布 Javascript 和 Php 代码,以便我们进行调查
  • 为什么这些问题不作为重复问题关闭?

标签: javascript php ajax arrays


【解决方案1】:

JSON 是您的答案。您使用的是 jQuery 或 MooTools 之类的 javascript 库吗?

jQuery: How do I encode a javascript object as JSON?

url = 'target.php';
data = {identificators: JSON.stringify(identificators) };
jQuery.post( url, data, , function( response ) {
      //response handling
});

MooTools:

url = 'target.php';    
data = { identificators: JSON.encode(identificators) };

如何在 mootools 中发布(异步): http://mootools.net/docs/core/Request/Request

在php中:

$phpArray = json_decode($_POST['identificators']/$_POST['identificators']);

【讨论】:

    【解决方案2】:

    您可以将答案格式化为 JSON 字符串发送

    例如:

    Javascript 数组:

    var indentificators = id.split("_"); // [0] => 'Stack', [1] => 'Overflow'
    

    所以你可以这样做:

    var response_to_send = "{\"var1\":" + indentificators[0] + ", \"var2\": " + indentificators[1] + "}";
    

    这里你会在你的 php 脚本中收到这个字符串(假设 ajax 请求成功并且 POST 中字符串的值为 'values'):

    $values = json_decode($_POST['values'])
    echo $values[0]; // This print 'Stack' echo $values[1]; // This print 'Overflow'
    

    我希望这是你的搜索

    【讨论】:

      【解决方案3】:
      var array = id.split("_");
      data = JSON.stringify(array);
      var url = 'you/url'    
      $.ajax({
        type: "POST",
        url: url,
        data: {array: data},
      });
      

      【讨论】:

        【解决方案4】:

        我终于解决了:

        var identificadors = id.split("_");
        
        $.ajax({
           url: './phpScripts/comunicador.php?method=sessioList',
           type: "POST",
           data: ({data: identificadors}),
           success: function(){
               alert('cool');
           }
        });
        

        然后在我的php页面:

        function sessioList() { 
        
            $data = $_POST['data']; 
        
            $_SESSION['list_id_product']    = $data[0];
            $_SESSION['list_id_tarifa']     = $data[1]; 
            $_SESSION['list_index']         = $data[2];     
        
        }
        

        正如我所说,我的主要问题是要发送的数据的格式以及如何获取它。

        谢谢大家,我真的很感激。

        【讨论】:

          猜你喜欢
          • 2021-08-18
          • 2011-03-27
          • 2017-02-11
          • 1970-01-01
          • 2013-07-06
          • 1970-01-01
          • 1970-01-01
          • 2019-07-18
          • 2017-09-13
          相关资源
          最近更新 更多