我想通过Ajax Json向php发送一个数组,但我不能这样做,当我发送它所有我在我的服务器端是一个csv字符串,
这是我的jquery代码,我创建了我的数组
$('#guardar_curso').click(function(){
var respuestas = new Array();
var a = 0;
var b = 0;
var c = 0;
var last_hidden = $('body').find('input[type="hidden"]').filter(':last');
last_hidden = parseInt(last_hidden.val()) + 1;
var count = 0;
for(var a = 0; a<last_hidden; a++){
for(var b = 0; b<4; b++){
c = $('body').find('input[name="resp['+ a +']['+ b +']"]').val();
if(c == ''){
respuestas[count] = c; //ignore this
}else{
respuestas[count] = c;
}
count++;
}
}
接下来是我的jquery代码,其中是我从提交按钮触发的Ajax调用:
$.ajax({
type:"POST",
url:CI.base_url + 'admin/guardar_curso',
data: curso_data + '&respuestas=' + respuestas,
dataType:"json",
success:function(response){
$.each(response, function(key, value){
salida = salida + value + "\n";
})
curso_data是我的序列化数据,“respuestas”是我的数组
它只是我的代码的一部分,我希望它有助于说明我的观点
任何帮助我都可以获得PLZ,这已经让我疯了好几个小时,我想用php中的foreach循环循环该数组,谢谢......
答案 0 :(得分:1)
你要连接一个不起作用的数组和文本。您可以将数组作为JSON字符串发送,并在收到它时对其进行解码。
data: curso_data + '&respuestas=' + JSON.stringify(respuestas),
然后在php:
/* convert json to php array*/
$respuestas= json_decode($_POST['respuestas']);
php中的一个简单测试是print_r( $respuestas)
并查看浏览器控制台中返回的数组