我有2页file.xhtml
和submit-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);
任何人都可以帮助我?
谢谢!
答案 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']);