使用ajax将javascript数组从file.xhtml传递到php数组

时间:2013-10-14 06:19:02

标签: javascript php ajax arrays

我有2页file.xhtmlsubmit-exec.php。 我使用ajax将我的javascript数组从xhtml文件传递给php。 我在网上找到了几个教程,但没有一个能解决我的问题。 我仍然想知道xhtml可能有任何问题吗?

数组:

var array = [];
array.push({ name: "name", value: document.forms["form"]["name"].value});
array.push({ name: "email", value: document.forms["form"]["email"].value});
array.push({ name: "mobile", value: document.forms["form"]["mobile"].value});

file.xhtml

$.ajax({ //to run exec in background
    type: 'POST',
    url: 'submit-exec.php',
    data: {'data' : array},

    success: function(){
        alert("ok");
    }
});

提交-exec.php

$myArray = $_POST['data'];

print_r($myArray);

任何人都可以帮助我?

谢谢!

2 个答案:

答案 0 :(得分:1)

你可以简单地发送一个对象(我不会更改变量名“array”以适合你的ajax,但你绝对应该)

var array = {name: document.forms["form"]["name"].value, email: document.forms["form"]["email"].value, mobile: document.forms["form"]["mobile"].value}  

无需转换为字符串

答案 1 :(得分:-1)

无法通过POST发送对象。因此,要使代码正常工作,必须将数组转换为字符串&将其转换回服务器端的数组。例如:

data: {'data' : array.join(',')},

在服务器端,使用explode将其转换回数组:

$myArray = explode(",", $_POST['data']);