我对ajax非常陌生,当用户单击提交按钮时,我试图将我在JavaScript中创建的一个数组称为标记到PHP页面。在提交时,数组存在并在范围内。下面的代码是试图做到这一点。当我点击提交按钮时,我发送到php页面,打印出“失败”(我的代码的一部分),这意味着数组未被传递。我相信错误发生在ajax代码中,我不确定它来自哪里,非常感谢任何帮助!使用AJAX传递JavaScript数组
的JavaScript/AJAX东西:
function submit_tour(){
var input = JSON.stringify(markers);
//var input = $(this).serialize();
var sent = $.ajax({
type: "POST",
data: input,
dataType: 'JSON',
url: "test_portal2.php"
}).done(function() {window.alert("done");})
.fail(function() {window.alert("failed");});
window.alert("" + input);
}
是应该发送阵列的HTML按钮:
<form name="toursubmit" action="test_portal2.php" onsubmit="submit_tour()">
<input type="submit" value="Submit">
</form>
映入它(在test_portal.php文件)的PHP:
$ans = json_decode($sent);
echo $ans;
if ($ans != NULL){
echo "works";
echo $ans;
}
else {
echo 'failed';
}
没有必要将对象序列化为JSON字符串,jQuery.ajax方法将为您处理。所以你可以逃避数据:标记和没有特定的dataType属性。我的下一个问题是“标记”的价值是什么? – 2013-03-27 17:20:31
你如何填充'$ sent'? – 2013-03-27 17:20:42