照片上传Jquery脚本无法在chrome&即?

时间:2011-12-11 11:42:14

标签: jquery ajax facebook

我有以下功能在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)

此功能不起作用 代码中有什么问题吗?

1 个答案:

答案 0 :(得分:0)

您误用了contentType参数。作为detailed on the jQuery documentation

  

contentType
  默认值:'application / x-www-form-urlencoded'
当   将数据发送到服务器,使用此内容类型。默认是   “application / x-www-form-urlencoded”,对大多数情况来说都很好。如果   你明确地将内容类型传递给$ .ajax()然后它将永远是   发送到服务器(即使没有数据发送)。数据永远是   使用UTF-8字符集传输到服务器;你必须解码这个   适当地在服务器端。

如您所见,contentType参数用于详细说明请求的内容类型。你传递了false值 - 我不确定这会影响什么行为 - 但我确信你不应该在那里传递一个布尔值。 尝试退出该参数。