jquery
  • ajax
  • facebook
  • 2011-12-11 13 views 1 likes 
    1

    私はjQueryを使ってFacebookで写真をアップロードする機能とAjax写真アップロードJqueryスクリプトがChromeで動作しない&ie?

    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

    contentTypeパノメーターを誤って使用しています。 detailed on the jQuery documentationとして、

    のcontentType
    デフォルト: 'アプリケーション/ x-www-form-urlencodedで'
    がサーバにデータを送信し、このコンテンツタイプを使用します。デフォルトは "application/x-www-form-urlencoded"です。これはほとんどの場合問題ありません。 コンテンツタイプを$ .ajax()に明示的に渡すと、(データが送信されない場合でも)常に がサーバーに送信されます。データは常にUTF-8文字セットを使用してサーバーに送信される になります。この をサーバー側で適切にデコードする必要があります。

    ご覧のとおり、contentTypeパラメータはリクエストのコンテンツタイプの詳細を示すために使用されます。あなたはfalseの値を渡しました - これが影響を与えるのはわかりませんが、そこにブール値を渡すべきではないと確信しています。 このパラメータをそのままにしてください。

    +0

    私はそれを試してみましたが、スクリプトを変更したり削除したりしていませんでした。つまり、写真をユーザーのプロフィールにアップロードしていますが、成功:機能(データ)は機能していませんか? –

    関連する問題