0

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

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

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

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

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

4

4 回答 4

1

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

jQuery: 如何将 javascript 对象编码为 JSON?

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

Moo工具:

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

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

在 php 中:

$phpArray = json_decode($_POST['identificators']/$_POST['identificators']);
于 2013-10-08T15:29:03.727 回答
0
var array = id.split("_");
data = JSON.stringify(array);
var url = 'you/url'    
$.ajax({
  type: "POST",
  url: url,
  data: {array: data},
});
于 2013-10-08T15:24:32.693 回答
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'

我希望这是你的搜索

于 2013-10-08T15:30:34.820 回答
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];     

}

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

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

于 2013-10-08T15:30:57.547 回答