我正在使用ajax将我的表单提交到一个php文件,该文件在服务器上处理表单数据。但是我需要使用 $_GET 访问 URL 中的变量,但我收到"未定义的索引:"错误消息。我认为这是因为当前 URL 未包含在(或查看)在 php 文件中,因为我使用 AJAX 单独提交了它。在这种情况下,我宁愿不使用会话变量。任何帮助,不胜感激。
网址../completeAccount.php?acctnum=433462524&keyCode=bdtF5ziKWJ
爪哇语
formData = $(formID).serializeArray();
$.ajax({
url : "process.php",
type: 'POST',
data : formData,
success: function(resp) {
//success code
}
});
过程.php
$firstname = $_POST['firstname'];
$lastname = $_POST['lastname'];
$newpass = $_POST['newpass'];
$newpass2 = $_POST['newpass2'];
$acctnum = $_GET['acctnum'];
$keyCode = $_GET['keyCode'];
//use variables to process data etc.
你应该用你的javascript获取参数,并将它们附加到formData
。获取 URL 参数的代码可能如下所示:
function getParameterByName(name) {
name = name.replace(/['[]/, "''[").replace(/[']]/, "'']");
var regex = new RegExp("[''?&]" + name + "=([^&#]*)"),
results = regex.exec(location.search);
return results === null ? "" : decodeURIComponent(results[1].replace(/'+/g, " "));
}
接下来,只需将其附加到formData
formData = $(formID).serializeArray();
formData.push({name: 'acctnum', value: getParameterByName('acctnum')});
请注意,acctnum
将在POST
中,而不是在GET
中!