2016-06-12 13 views
-1

アップロードフォームがfirefoxで動作していませんが、エッジではなくクロムで作業しています。 コードはクロムとアンドロイドのブラウザでうまく機能しますが、Firefoxではサポートされません。アップロードフォームがfirefoxで動作していませんが、エッジではなくクロムで作業しています

Here is the code. 

    $("#fimg").submit(function(e) { 
     e.preventDefault(); 
     if($("#file").val()!=''){ 
      $.ajax({ 
       url: "<URL TO PHP>", 
       type: "POST", 
       data: new FormData(this), 
       contentType: false, 
       cache: false, 
       processData:false, 
       success: function(data) 
       { 
        //Okay!! 
       }, 
       error: function() 
       { 
       //error. 
       }   
      }); 

      }else{ 
      //No Image Selected! 
      } 

     }); 

PHP: 

     if(isset($_POST['go'])&&$_POST['go']=="Upload"){ 

     //Returns the uploaded path. 

      } 
+0

「実用的な」例がなければ、何が起こっているのかを知るのは難しいでしょう。あなたは私たちのために選択したコードのどこかにエラーがあると想定しますが、それはありますか? Firefoxでを試してデバッグしてください。 –

+0

Googleで検索しましたか?ここには多くの似たような質問があり、それを正しく行う方法についてのチュートリアルがたくさんあります。 https://www.google.nl/#q=ajax+upload+form+only+works+on+chrome – Paules

答えて

1

firefoxの助けを借りてスクリプトをデバッグしました。 問題はPHPコードにあります。

Firefoxが次のヘッダーを返しました。

内容 - 配置:form-data; name = "file";ファイル名= "13347014_844904292319754_6605126991244883708_n.jpg"

Chromeは次のヘッダーを返しました。

内容 - 配置:form-data; name = "file";ファイル名= "13347014_844904292319754_6605126991244883708_n.jpg"

コンテンツタイプ:image/jpegの ------ WebKitFormBoundaryC1UNyDWNSBtzAMQt

コンテンツの廃棄:フォームデータ。 isset($_POST['go'])&&$_POST['go']=="Upload"

if(isset($_POST)){ 

を変更する名=

を "行く" 挿入

で働いていました。 どうもありがとう。

関連する問題