2017-01-02 5 views
0

Есть ли способ получить возвращаемое значение из действия с помощью .submit event listener в jQuery? У меня проблема, когда действие завершено, оно возвращает файл JSON, и мой браузер переходит на пустую страницу и просто отображает возвращаемый JSON. Я не хочу, чтобы это произошло, я хочу иметь возможность прочитать результат JSON, и на его основе решает, что делать.Отправить в ASP.NET MVC форме?

Вот мои ДОУ: Вид:

@using (Html.BeginForm("SubmitTest", "DMS", FormMethod.Post, htmlAttributes: new { id = "formId" })) 
     { 
      <input type="submit" value="Sumbit" /> 
     }  

Контроллер:

public JsonResult SubmitTest() 
     { 
      return Json("Done"); 
     } 

Сценарий:

$(document).ready(function() { 
     $("formId").submit(function() { 
      alert("Submitted"); 
     }); 
    }); 

ответ

0

Используйте AJAX формы вместо HTML формы, таким образом, вы можете проверить ответ после его отправки и сделать все, что вы с использованием обработчика OnSuccess.

Для получения более подробной информации обратитесь к этому article

1

вы можете добавить event.preventDefault или return false, чтобы предотвратить событие по умолчанию возникновения. поэтому он не будет перемещаться по пустой странице.

$(document).ready(function() { 
     $("formId").submit(function() { 
      alert("Submitted"); 
      return false; 
     }); 
    }); 

EDIT: если вы хотите получить ответ, вам необходимо сделать запрос Ajax и получить данные формы из полей. вы не можете получить ответ с помощью функции submit.

$(document).ready(function() { 
     $("formId").submit(function() { 
      /// make an AJAX request 
      $.post(
$(this).attr('action'), //// action url 
$(this).serialize(), //// serialize form fields 
function(json) { 
     alert(json);/// json response 
    }, 'json'); 

      return false; /// prevent navigation 
     }); 
    }); 
+0

Не будет ли это препятствовать отправке формы на сервер? –

+0

@ Tha'erAl-Ajlouni нет, это не будет. он отправляет форму, но предотвращает навигацию – esiprogrammer

+0

Хорошо, но как я могу прочитать входящий JSON? – user3159792

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