发送POST值javascript
不知道为什么这不起作用……哦,是的,我还是个新手。我有一个表单将数据发布到数据库,如果我只使用POST,它就可以正常工作。如果我用一些AJAX将它传递给javascript函数,然后提交它,那么我就不工作了。从函数提交的“GET”不起作用,与“POST”不起作用。使用“POST”我可以连接到DB,但是表单中的值都是空的,所以DB会得到更新,并有一条新记录,其中所有字段都是空的。这里是小提琴,我把php代码放在CSS应该去的地方:。这里有一个指向页面的链接,来自脚本的所有反馈都被发送到顶部的页面:函数检查表单{发送POST值javascript,javascript,php,ajax,Javascript,Php,Ajax,不知道为什么这不起作用……哦,是的,我还是个新手。我有一个表单将数据发布到数据库,如果我只使用POST,它就可以正常工作。如果我用一些AJAX将它传递给javascript函数,然后提交它,那么我就不工作了。从函数提交的“GET”不起作用,与“POST”不起作用。使用“POST”我可以连接到DB,但是表单中的值都是空的,所以DB会得到更新,并有一条新记录,其中所有字段都是空的。这里是小提琴,我把php代码放在CSS应该去的地方:。这里有一个指向页面的链接,来自脚本的所有反馈都被发送到顶部的页面:
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();
}
您正在将数据发布到服务器,但没有发送任何内容。发布旨在将全局信息发送到服务器。获取用于检索页面。在这种情况下,您将根据听到的任何信息设置formFeedback的内容。因此,如果这是您想要的,请坚持获取并切换到jQuery$.Ajax调用,因为您已经标记了jQuery,它使它变得更容易。我知道它必须是简单的,经过大量的挖掘,我只需要使用FormData: var f=e.target, formData=新的FormDataf 然后在发送时将其用作参数: xhr.openPOST,f.action,true; xhr.sendformData 这就是我的代码现在的样子:
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);
}您用jQuery标记了它,所以如果您使用jQuery,为什么不使用$.ajax或$.post呢。jQuery为您处理这些低级ajax内容。您需要传递查询字符串,就像使用GET传递给send方法一样。您不向服务器发送任何数据。表单中的数据并没有神奇地注入XMLHttpRequest,您需要将它放在那里。我在问怎么做。