2016-09-22 34 views
0

$.ajax()メソッドを使用してフォームデータを送信し、データに画像ファイルが含まれています。提出 ながら、私は以下の問題に遭遇した:それは成功とエラーの両方の方法を実行し、クロムとFFでajax()を提出しているがajax()ポストを使用してフォームデータを送信できません

  1. フォームが
  2. IE10,11に提出取得されていない
  3. 私がすることができますよクロムとFFにデータを提出するが、
  4. データは、ChromeからDBに提出され、FF以下

私はuの午前コードでのみ、エラーメッセージが表示されます歌を歌うと

$.fn.serializeObject = function() 
    { 
     var o = {}; 
     var a = this.serializeArray(); 
     $.each(a, function() { 
      if (o[this.name] !== undefined) { 
       if (!o[this.name].push) { 
        o[this.name] = [o[this.name]]; 
       } 
       o[this.name].push(this.value || ''); 
      } else { 
       o[this.name] = this.value || ''; 
      } 
     }); 
     return o; 
    }; 

$(function() { 
    $('form').submit(function() { 
     var senddata = JSON.stringify($('form').serializeObject()); 
     $('#result').text(senddata); 
     var form_data = new FormData($(this)[0]); 
     form_data.append('jsonString', senddata); 
     var settings = { 
      "async": true, 
      "crossDomain": true, 
      "url": "google.com",//sample url 
      "method": "POST",  
      "processData": false, 
      "contentType": false, 
      "headers": { 
      "Access-Control-Allow-Origin": "*", 
      "cache-control": "no-cache" 
      }, 
      "mimeType": "multipart/form-data", 
      "cache": false, 
      "data": form_data//, 
      //"dataType": "jsonp" 

     }; 
     $.ajax(settings).done(function (data) { 
       console.log(data); 
      }) 
      .success(function (data) { 
       alert("submitted"); 
      }) 
      .error(function (data){ 
       alert("failed"); 
       console.log(data); 
      }); 

     return false; 
    }); 
}); 

    <!-- language: lang-html --> 

     <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
     <form action=""> 
      <input type="hidden" name="profileTypeId" value="112" maxlength="36" size="12"/> 
      First Name:<input type="text" name="firstName" value="Hydtest" maxlength="12" size="12"/> <br/> 
      Last Name:<input type="text" name="lastName" value="3SparrowTest" maxlength="36" size="12"/> <br/> 
      email:<input type="text" name="emailId" value="[email protected]" maxlength="36" size="12"/> <br/> 
      Address1:<input type="text" name="address1" value="PiratesTest" maxlength="36" size="12"/> <br/> 
      <input type="hidden" name="address2" value="PiratesTest" maxlength="36" size="12"/> 
      <input type="hidden" name="city" value="caribbean" maxlength="36" size="12"/>   
      Profile Image: <input name="file" type="file" /><br /> 

      <p><input type="submit" /></p> 
      </form> 

    <!-- end snippet --> 
+0

とFFは '警告( '失敗')'のでしょうか? –

+0

@AatifBandeyはい、そうです。 – koder

答えて

0

私はフォームが画像のために提出していないと思います。イメージをbase64でエンコードしてから、サーバーに送信してください。ここで

はJavaScriptを使用してbase64でエンコード画像への参照です:Chromeで

https://davidwalsh.name/convert-image-data-uri-javascript

関連する問題