ily*_*lyo 9 javascript ajax jquery post blob
我正在尝试使用 jQuery 发布文件post,然后获取TypeError: Illegal invocation
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);
});
}
Run Code Online (Sandbox Code Playgroud)
可能是因为'blob'吗?
这工作正常:
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 )
}
Run Code Online (Sandbox Code Playgroud)
Ror*_*san 10
您需要使用对象$.ajax并将其提供FormData给data参数。$.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);
}
});
}
Run Code Online (Sandbox Code Playgroud)