2016-04-24 5 views
0

Я спокойно знаком с JQuery. Я отправляю запрос AJAX (загрузка файла) в WEB API (ASP.NET MVC), но мои ответы загружаются как файл JSON, а не загружаются в данные успеха.Мои ответы AJAX загружаются, а не загружаются в данные успеха.

Пожалуйста найти код в HTML ниже

$('#myForm1')[0].submit(function (event) { 
      alert("Hello2"); 
      event.preventDefault(); 
      //grab all form data 
      var formData = new FormData($(this)[0]); 
      alert("Hello2"); 
      $.ajax({ 
       url: 'http://localhost:102/webapi/api/values/All', 
       type: 'POST', 
       data: formData, 
       datatype : "json", 
       //async: false, 
       //cache: false, 
       contentType: true, 
       processData: false, 
       complete: function() { 
        alert("Complete"); 
       }, 
       success: function (returndata) { 
        // $("#productFormOutput").html(returndata); 
        alert("Executed"); 
       }, 
       error: function() { 
        alert("error in ajax form submission"); 
       } 
      }); 

      return false; 
     }); 

enter image description here

BTW нет предупреждений в успехе, ошибки и полное вызывается после получения ответа. Но Fiddler показывает, что ответ успешный (HTTP 200). Я что-то делаю неправильно при вызове запроса?

+0

Привет Roland. Если я не использую [0], моя форма submit не будет вызвана сама. Если я использую [0], я получаю запрос, и я могу отлаживать запрос в моем VS. –

+0

Значит, вы не отправляете форму с помощью кнопки? Потому что '$ ('# myForm1') [0] .submit()' отправляет форму и '$ ('# myForm1'). Submit (fn)' регистрирует обработчик событий. –

+0

Вот функция, которую вы вызываете https://developer.mozilla.org/en-US/docs/Web/API/HTMLFormElement/submit. Поэтому даже «Hello2» не следует предупреждать. –

ответ

0

Удаление [0] и изменения входа в «Отправить» в форме решить мою проблему

$('#myForm1')[0].submit(function (event) 

Как сказал Роланд, подать с кнопкой во входном теге не обрабатывает обработчик событий

0

попробовать использовать «Done» метод в качестве обработчика успеха вместо «успеха»,

и вместо журнала использования консоли оповещения (вы можете проверить журнал на браузере, Ctrl + Shift + I на хроме, вам может даже помещать объект в журнал). после нескольких раз предупреждает, что мой браузер блокируется, так как это раздражает.

легко и полная ссылка: https://scotch.io/tutorials/submitting-ajax-forms-with-jquery

* что полный метод делает в этом почтовом объекте?