我需要帮助,我找不到解决方案。我有一个javascript数组,我需要传递给php脚本,它将存储会话变量的所有数组值(最多3)。我的javascript数组来自string.split调用:
var indentificators = id.split("_");
我需要的是如何进行Ajax调用以及如何逐个获取数组的每个元素。
我的主要问题是必须发送此数据的格式以及如何检索它。
PD:我会发布我当前的ajax调用代码,但我认为这没有用,这一切都搞砸了。
答案 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];
}
正如我所说,我的主要问题是要发送数据的格式以及如何获取数据。
谢谢大家,我真的很感激。