2016-09-22 2 views
0

Я отправляю данные формы с использованием метода $.ajax(), данные содержат файлы изображений. при подаче я столкнулся с ниже вопросами:Невозможно отправить данные формы, используя ajax() post

  1. формы не получает представленные в IE10,11
  2. хотя она подачей в хроме и FF, ajax() выполнения методов и успехов и ошибок
  3. Я могу представить данные в хроме и FF, но оно отображается только сообщение об ошибке
  4. данные передаются в БД из Chrome и 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 кодировать изображения перед отправкой их на сервер.

Вот ссылка на base64 закодировать изображения с помощью JavaScript:

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

Смежные вопросы