Javascript jQuery Post blob对象给出了未捕获的TypeError:非法调用
我正试图使用jQueryJavascript jQuery Post blob对象给出了未捕获的TypeError:非法调用,javascript,jquery,ajax,post,blob,Javascript,Jquery,Ajax,Post,Blob,我正试图使用jQuerypost发布一个文件,并获取TypeError:非法调用 function fbUpload(token){ var dataURL = canvas.toDataURL('image/jpeg', 1.0) var blob = dataURItoBlob(dataURL) $.post( "https://graph.facebook.com/me/photos", { 'access_token': token, 'source': b
post
发布一个文件,并获取TypeError:非法调用
function fbUpload(token){
var dataURL = canvas.toDataURL('image/jpeg', 1.0)
var blob = dataURItoBlob(dataURL)
$.post( "https://graph.facebook.com/me/photos", {
'access_token': token,
'source': blob
}, function( data ) {
console.log(data);
});
}
可能是因为“斑点”吗
这很好:
function fbUpload(token){
var dataURL = canvas.toDataURL('image/jpeg', 1.0)
var blob = dataURItoBlob(dataURL)
var formData = new FormData()
formData.append('access_token', token)
formData.append('source', blob)
var xhr = new XMLHttpRequest();
xhr.open( 'POST', 'https://graph.facebook.com/me/photos', true )
xhr.onload = xhr.onerror = function() {
console.log( xhr.responseText )
};
xhr.send( formData )
}
您需要使用
$.ajax
并向数据
参数提供FormData
对象<代码>$。post仅将数据作为字符串或普通对象。试试这个:
function fbUpload(token){
var dataURL = canvas.toDataURL('image/jpeg', 1.0)
var blob = dataURItoBlob(dataURL)
var formData = new FormData()
formData.append('access_token', token)
formData.append('source', blob)
$.ajax({
url: "https://graph.facebook.com/me/photos",
type: 'POST',
data: formData,
processData: false,
contentType: false,
success: function(data) {
console.log(data);
}
});
}
您需要使用
$.ajax
,并将FormData
对象提供给data
参数https://graph.facebook.com/me/photos",formData…收到相同的错误contentType:false
阻止$.ajax设置内容类型标头。这将允许基础xmlhttprequest将内容类型设置为具有正确边界的多部分表单数据