Javascript 如何在ajax中发送其他表单数据

Javascript 如何在ajax中发送其他表单数据,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,有没有其他发送表单数据的方法可以与我正在使用的脚本一起使用,我尝试了附加表单数据,但我不知道如何在post数据中获得成对的值,所以我在URL中添加了数据,问题是进度条,然后数据停止在我的页面上工作 <script> function _(el){ return document.getElementById(el); } function uploadFile(){ var file = _("video").files[0]; var vidName = $

有没有其他发送表单数据的方法可以与我正在使用的脚本一起使用,我尝试了附加表单数据,但我不知道如何在post数据中获得成对的值,所以我在URL中添加了数据,问题是进度条,然后数据停止在我的页面上工作

<script>
function _(el){
    return document.getElementById(el);
}
function uploadFile(){
    var file = _("video").files[0];
    var vidName = $("#vidName").val();
    var videoDescription = $("#videoDescription").val();
    var albumName1 = $("#choosevidCat").val();
    var vidFile =$("#video").val();
    var otherData = $('vidUpload').serializeArray()
//       alert(file.name+" | "+file.size+" | "+file.type);
    var formdata = new FormData();
    formdata.append("video", file);
//  formdata.append("video", vidName);
    var ajax = new XMLHttpRequest();
    ajax.upload.addEventListener("progress", progressHandler, false);
    ajax.addEventListener("load", completeHandler, false);
    ajax.addEventListener("error", errorHandler, false);
    ajax.addEventListener("abort", abortHandler, false);
    ajax.open("POST", "includes/vid_upload.inc.php?vidName=" +vidName+"&videoDescription=" +videoDescription+"&albumName1=" 
    +albumName1, false);
    ajax.send(formdata);
}
function progressHandler(event){
    _("loaded_n_total").innerHTML = "Uploaded "+event.loaded+" bytes of "+event.total;
    var percent = (event.loaded / event.total) * 100;
    _("progressBar").value = Math.round(percent);
    _("status").innerHTML = Math.round(percent)+"% uploaded... please wait";
}
function completeHandler(event){
    _("status").innerHTML = event.target.responseText;
    _("progressBar").value = 0;
}
function errorHandler(event){
    _("status").innerHTML = "Upload Failed";
}
function abortHandler(event){
    _("status").innerHTML = "Upload Aborted";
}
</script>
正如您所看到的,我已经在脚本中对它进行了注释,正如webconsole所示,尽管它发送了vidName变量,但它没有这样的标识标记:Content Disposition:form data;name=“视频”

测试ogg创建2

有人能帮忙吗

ajax.send("video=" + vidName + "&other=" + other_value);
如果要发送多个值 您可以使用关键字“&”来分隔名称和值pare

像 视频=视频名称, 其他=其他值1, other2=otherevalue2

要将其发送到post请求,请执行以下操作:

"video=vidname&other=othervalue1&other2=othervalue2"
在PHP中,您可以获得这些post数据

$_POST['video'];
$_POST['other'];
$_POST['other2'];
这里有一个链接

如果你
console.log(FormData.getAll)
@Said Kholov我不确定我把它添加到了正确的位置,我把它放在了结束脚本标签之前,它报告为未定义,并且与该代码位相关。将其放在append之后,并尝试上载与指定给特定codeformdata的未定义完全相同的未定义,而不是FormData Sorry。我刚刚尝试了这一点,但它阻止了im上载的文件附加到上载函数@Oli Soproni B。5分钟前,u正在定义第一个函数的使用在脚本中的函数,它省去了重复键入“$”字符的麻烦,不,它不会创建错误我已经解决了它,使用ajax.open,添加表单数据的方式与您在ajax.send中所说的大致相同,但是删除false现在允许我发送数据并让我的进度条工作如果发现我的答案有帮助,那么可以接受它作为答案
$_POST['video'];
$_POST['other'];
$_POST['other2'];