数组到PHP和检索

时间:2013-10-08 15:19:48

标签: javascript php ajax arrays

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

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

我需要的是如何进行Ajax调用以及如何逐个获取数组的每个元素。

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

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

4 个答案:

答案 0 :(得分: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']);

答案 1 :(得分:0)

var array = id.split("_");
data = JSON.stringify(array);
var url = 'you/url'    
$.ajax({
  type: "POST",
  url: url,
  data: {array: data},
});

答案 2 :(得分:0)

您可以将答案格式化为以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 :(得分:0)

最终我解决了它:

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

}

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

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