繁体   English   中英

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

[英]How do I send additional form data in ajax

是否有另一种方式发送表单数据,我可以使用我正在使用的脚本,我尝试附加表单数据,但我无法弄清楚如何获取后期数据中的配对值,所以我添加了数据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>

我尝试添加

formdata.append("video", vidName);

正如你所看到的,我已经在脚本中对它进行了评论,因为webconsole显示它虽然发送了vidName变量但它没有像这样的识别标签:Content-Disposition:form-data; NAME = “视频”

测试ogg创建2

有人可以帮忙吗

ajax.send("video=" + vidName + "&other=" + other_value);

如果要发送许多值,可以使用关键字“&”分隔名称和值pare

比如video = vidName,other = othervalue1,other2 = otherevalue2

把它发送到邮政请求吗

"video=vidname&other=othervalue1&other2=othervalue2"

在PHP中,您可以获得这些发布数据

$_POST['video'];
$_POST['other'];
$_POST['other2'];

这是一个使用XMLHttpRequest发送POST数据的链接

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM