发送POST值javascript

时间:2014-10-23 20:00:22

标签: javascript php ajax

不知道为什么这不起作用......哦是的,我还是新手。我有一个将数据发布到数据库的表单,如果我只使用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();

    }

2 个答案:

答案 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);

}