我是PHP/AJAX的新手,我试图在没有页面刷新的情况下获取表单值。我尝试了各种代码,但他们似乎都没有工作。要么没有任何反应,要么收到未定义的索引通知。我试过使用isset()和空(),但这些似乎也没有工作。任何帮助表示赞赏。这是我的JavaScript函数中:PHP/AJAX POST表单检索
{
var hr = new XMLHttpRequest();
var url = "parser.php";
var fn = document.getElementById("firstname").value;
var vars = "firstname="+fn;
//document.write(vars);
//open() method of XMLHttpRequest object
hr.open("get",url,true);
//to send url encoded variables in the request
hr.setRequestHeader("Content-type", "application/w-www-form-urlencoded");
hr.onreadystatechange = function() {
if(hr.readyState == 4 && hr.status == 200){
var returnData = hr.responseText;
document.getElementById("status").innerHTML = returnData;
}
};
//send data to PHP----wait for response to update status div
hr.send(vars); //execute request
document.getElementById("status").innerHTML = "processing...";
}
这是我试过(代码JavaScript函数内)的另一种方法:
{
var name = document.getElementById('firstname').value;
var dataString = "name"+name;
$.ajax({
type: "post",
url: "validate.php",
data: dataString,
cache: false,
success: function (html) {
$('#result').html(html);
}
});
return false;
}
这是我的PHP文件,将返回的数据:
<?php
if(isset($_POST['firstname'])) {
$name = $_POST['firstname'];
echo 'Name:' . $name;
}
这是输入标签:
First name:<input id="firstname" name="firstname" type="text"><br>
尝试的var_dump($ _ REQUEST)看到什么请求变量未来 –
你错过了添加相同的符号。所以改变jQuery ajax中的数据字符串,如下所示:var dataString =“name =”+ name;' –
我希望你的程序员使用2个文件一个用于ajax的主体,一个用于ajax运行 – madalinivascu