我有以下功能在facebook上使用jquery和ajax上传照片
unction _upCover(imgURL) {
$('#uploadb').hide(0);
$('#uploadb2').show(0);
var postMSG="";
var url='https://graph.facebook.com/me/photos?access_token='+accessToken+"&message="+postMSG;
var formData = new FormData();
formData.append("url",imgURL);
$.ajax({
url: url,
data: formData,
cache: false,
contentType: false,
processData: false,
type: 'POST',
success: function(data){
$('#uploadb2').slideUp("slow");
$('#changecover').slideDown("slow");
}
});
}
这在firefox brwoser中工作正常 但是当我用它运行它时,即 它有效但
success: function(data)
此功能不起作用 代码中有什么问题吗?
答案 0 :(得分:0)
您误用了contentType
参数。作为detailed on the jQuery documentation,
contentType
默认值:'application / x-www-form-urlencoded'
当 将数据发送到服务器,使用此内容类型。默认是 “application / x-www-form-urlencoded”,对大多数情况来说都很好。如果 你明确地将内容类型传递给$ .ajax()然后它将永远是 发送到服务器(即使没有数据发送)。数据永远是 使用UTF-8字符集传输到服务器;你必须解码这个 适当地在服务器端。
如您所见,contentType参数用于详细说明请求的内容类型。你传递了false
值 - 我不确定这会影响什么行为 - 但我确信你不应该在那里传递一个布尔值。 尝试退出该参数。