Javascript 通过ajax post发送blob
我正试图通过一篇ajax文章向Rails操作发送一个音频blob。我似乎开始关注Rails操作,但我发送的数据似乎是空的,并且我的音频文件没有保存。我可以用简单的javascript实现这一点,但我似乎无法用ajax实现这一点 Ajax不工作:Javascript 通过ajax post发送blob,javascript,ajax,blob,audio-recording,Javascript,Ajax,Blob,Audio Recording,我正试图通过一篇ajax文章向Rails操作发送一个音频blob。我似乎开始关注Rails操作,但我发送的数据似乎是空的,并且我的音频文件没有保存。我可以用简单的javascript实现这一点,但我似乎无法用ajax实现这一点 Ajax不工作: function sendRecToPostAjax(blob){ var data = new FormData(); data.append("audio", blob, (callid + ".oga")); data.a
function sendRecToPostAjax(blob){
var data = new FormData();
data.append("audio", blob, (callid + ".oga"));
data.append('callid', callid);
return $.ajax({
url: '/controller/action',
type: 'POST',
cache: false,
data: data,
processData: false,
contentType: false
});
}
JS工作:
function sendRecToPost(blob) {
var data = new FormData();
data.append("audio", blob, (callid + ".oga"));
data.append('callid', callid);
var oReq = new XMLHttpRequest();
oReq.open("POST", "/controller/action");
oReq.send(data);
oReq.onload = function(oEvent) {
if (oReq.status == 200) {
console.log("Uploaded");
} else {
console.log("Error " + oReq.status + " occurred uploading your file.");
}
};
}
jquery(即$.ajax)一定把事情搞砸了-注意:有效的XMLHttpRequest代码也是异步JavaScript和XML-由
$执行的实际数据传输。ajax
使用XMLHttpRequest-因此,可能需要设置一些模糊的未记录的jquery选项来实际修复jQuey,AJAX的价值在于它是异步Javascript和Xml的缩写。您的两个代码段都使用AJAX,第一个代码段也使用jQuery。感谢大家的帮助!非常有用的知道!因此,我想做的是在不刷新页面的情况下上载此文件,我希望第一种方法可以做到这一点..猜测一下,不要设置contentType:false
-事实上,不要将contentType设置为all@suppp111-第一种方法将像第二种方法一样执行您想要的操作-您只需找出使用jQuery的选项(即$.ajax)一定是搞乱了-注意:XMLHttpRequest代码也是异步JavaScript和XML-实际数据传输是由$执行的。ajax
使用XMLHttpRequest-因此,可能需要设置一些模糊的、未记录的jQuery选项来实际修复jQuey,AJAX的价值在于它是异步Javascript和Xml的缩写。您的两个代码段都使用AJAX,第一个代码段也使用jQuery。感谢大家的帮助!非常有用的知道!因此,我想做的是在不刷新页面的情况下上载此文件,我希望第一种方法可以做到这一点..猜测一下,不要设置contentType:false
-事实上,不要将contentType设置为all@suppp111-第一种方法与第二种方法完全相同-您只需找出要使用的选项