-1

我有 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});

文件.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);

任何人都可以帮助我吗?

谢谢!

4

2 回答 2

1

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

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

无需转换为字符串

于 2013-10-14T06:52:40.443 回答
-1

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

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

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

$myArray = explode(",", $_POST['data']);
于 2013-10-14T06:26:49.417 回答