Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
发送POST值javascript_Javascript_Php_Ajax - Fatal编程技术网

发送POST值javascript

发送POST值javascript,javascript,php,ajax,Javascript,Php,Ajax,不知道为什么这不起作用……哦,是的,我还是个新手。我有一个表单将数据发布到数据库,如果我只使用POST,它就可以正常工作。如果我用一些AJAX将它传递给javascript函数,然后提交它,那么我就不工作了。从函数提交的“GET”不起作用,与“POST”不起作用。使用“POST”我可以连接到DB,但是表单中的值都是空的,所以DB会得到更新,并有一条新记录,其中所有字段都是空的。这里是小提琴,我把php代码放在CSS应该去的地方:。这里有一个指向页面的链接,来自脚本的所有反馈都被发送到顶部的页面:

不知道为什么这不起作用……哦,是的,我还是个新手。我有一个表单将数据发布到数据库,如果我只使用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,您需要将它放在那里。我在问怎么做。