不知道为什么这不起作用......哦是的,我还是新手。我有一个将数据发布到数据库的表单,如果我只使用POST,它可以正常工作。如果我用一些AJAX将它传递给javascript函数然后提交它,我就无法工作。它从工作中提交'GET'工作,不适用于'POST'。使用'POST'我可以很好地连接到数据库,但是表单中的值都是空白的,因此数据库会更新一个新记录,其中所有字段都是空白的。如果是小提琴,我把PHP代码放在CSS应该去的地方:http://jsfiddle.net/DuckofDeath/6var7103/。 HEre是页面的链接,脚本的所有反馈都发送到顶部的页面:http://www.modernmediaworld.com/diaboli/register3.php function checkForm(){
function checkForm(){
if (window.XMLHttpRequest) {
// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
} else { // code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
document.getElementById("formFeedback").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("POST","addNewSeeker.php",true);
xmlhttp.send();
}
答案 0 :(得分:0)
您正在向服务器发布数据,但您没有发送任何内容。 POST旨在将信息的大小发送到服务器。 GET用于检索页面。在这种情况下,您将使用您收到的任何内容设置formFeedback的内容。所以如果这就是你想要的,坚持GET并切换到jQuery $ .Ajax调用(因为你标记了jQuery),它使它变得更容易。
答案 1 :(得分:0)
我知道它必须是简单的东西,经过大量的挖掘后我才得使用FormData:
var f = e.target, formData = new FormData(f),
然后在发送时将其用作参数:
xhr.open(“POST”,f.action,true); xhr.send(FORMDATA);
这就是我现在的代码:
document.getElementById("seekerForm").onsubmit = function(e) {
e.preventDefault();
var f = e.target,
formData = new FormData(f),
xhr = new XMLHttpRequest();
xhr.onreadystatechange=function() {
if (xhr.readyState==4 && xhr.status==200) {
document.getElementById("formFeedback").innerHTML=xhr.responseText;
$('#formModal').foundation('reveal', 'open');
}
}
xhr.open("POST", f.action,true);
xhr.send(formData);
}