Here, I create fields according to my model class properties. For better understanding I added highly used component like textbox, radio button, drop down and checkbox.
Point to be noted here I also gave unique ID to each component which will be used when we code in JavaScript for getting data from these fields.
On button click event we will call SaveStudent function, in this function we will post data using Ajax
function SaveStudent() { //get all selected radio button. In our case we gave same name to radio button //so only one radio button will be selected either Male or Female var selected = $("input[type='radio'][name='Gender']:checked"); let formData = { studentId: $("#StudentId").val(), studentName: $("#StudentName").val(), standard: $("#StudentStd").val(), city: $("#StudentCity").val(), isRegular: $("#IsRegular").is(":checked"), gender: selected.length > 0 ? selected.val() : 0, } console.log(formData) $.ajax({ url: "/Home/SaveStudentWithoutSerialize", type: "POST", data: formData, success: function(response) { alert(response); }, error: function(request, status, error) { alert(request.responseText); } }); }
mvc ajax submit form
[Tiêu đề]: Gửi Điêu với Sự Trợ Giúp của jQuery và AJAX: MVC Ajax Submit Form trong Asp.net Core
[Word count]: 1942
I. Giới thiệu:Trong phát triển ứng dụng web, việc gửi và nhận dữ liệu từ form là một nhiệm vụ quan trọng. Với việc sử dụng các công nghệ như Ajax, jQuery và MVC trong Asp.net Core, chúng ta có thể triển khai việc gửi bản mẫu (form) một cách nhanh chóng và không làm gián đoạn trang.
II. AJAX Submit Form MVCKhi xây dựng một trang web động, chúng ta thường muốn gửi form lên server mà không làm tải lại trang hiện tại. Đối tượng XMLHttpRequest (XHR) giúp chúng ta làm điều này một cách dễ dàng. Trong mô hình MVC (Model-View-Controller), việc gửi form bằng cách sử dụng AJAX có một số lợi ích như sau:
1. Gửi bản mẫu mà không làm tải lại trang: Khi người dùng gửi form bằng cách sử dụng AJAX, trang không phải được tải lại hoàn toàn, dẫn đến trải nghiệm người dùng mượt mà hơn.
2. Validation dữ liệu nhanh chóng: Chúng ta có thể thực hiện các kiểm tra và validation trên client side trước khi gửi form lên server. Điều này giúp giảm tải cho server và cung cấp phản hồi nhanh chóng đến người dùng.
III. Asp.net Core Ajax Form PostAsp.net Core cung cấp một tập hợp các phương thức và thuộc tính để hỗ trợ việc gửi form bằng AJAX. Để thực hiện việc này, chúng ta cần xác định các phương thức bắt đầu bằng chữ “HTTP” trong controller:
1. Phương thức HTTPGet trả về một PartialView chứa form:“`csharp[HttpGet]public IActionResult AjaxForm(){return PartialView();}“`
2. Phương thức HTTPPost nhận dữ liệu từ form và tiến hành xử lý:“`csharp[HttpPost]public IActionResult AjaxForm(FormModel formData){// Xử lý dữ liệureturn PartialView(“AjaxSuccess”);}“`
IV. jQuery AJAX Send Form DataĐể gửi form bằng AJAX trong Asp.net Core, chúng ta có thể sử dụng thư viện jQuery. Dưới đây là một ví dụ về cách gửi form bằng AJAX sử dụng jQuery:
$.ajax({url: ‘/Controller/AjaxForm’,type: ‘POST’,data: formData,success: function (response) {$(‘#result’).html(response);}});});“`Trong ví dụ trên, chúng ta đã xử lý sự kiện submit của form và gửi dữ liệu với phương thức POST tới URL nơi form sẽ được xử lý bằng ASP.NET Core controller.
V. Ajax Serialize Form DataĐể thu thập dữ liệu từ form và gửi nó bằng AJAX, chúng ta cần serializing dữ liệu form thành một chuỗi. Điều này có thể được thực hiện bằng cách sử dụng phương thức `serialize()` trong jQuery như trong ví dụ dưới đây:
Hàm `serialize()` tự động lặp qua các phần tử form (input, textarea, select) và thu thập dữ liệu của chúng thành một chuỗi query.
VI. Before Submit Form jQueryTrước khi gửi form bằng AJAX, chúng ta có thể thực hiện một số kiểm tra và xử lý trên client-side. Chẳng hạn, chúng ta có thể kiểm tra xem các trường trong form có được điền đầy đủ hay không. Dưới đây là một ví dụ về cách kiểm tra điều kiện trước khi gửi form:
// Kiểm tra điều kiện trước khi gửi formif ($(‘#name’).val() === ”) {alert(‘Vui lòng nhập tên của bạn’);return;}
var formData = $(this).serialize();
$.ajax({url: ‘/Controller/AjaxForm’,type: ‘POST’,data: formData,success: function (response) {$(‘#result’).html(response);}});});“`
VII. Post Model to Controller MVC Using AJAXTrong Asp.net Core MVC, chúng ta có thể gửi một đối tượng model từ form lên server bằng cách sử dụng AJAX. Để thực hiện điều này, chúng ta cần sử dụng phương thức `JSON.stringify()` trong JavaScript để chuyển đổi đối tượng thành một chuỗi JSON và gửi nó:
$.ajax({url: ‘/Controller/AjaxForm’,type: ‘POST’,data: JSON.stringify(jsonData),contentType: ‘application/json’,success: function (response) {$(‘#result’).html(response);}});});“`Trong ví dụ này, chúng ta đã chuyển đổi dữ liệu form thành một mảng JavaScript bằng phương thức `serializeArray()`. Sau đó, chúng ta đã tạo một đối tượng JSON từ mảng này và gửi nó bằng cách sử dụng phương thức `JSON.stringify()`.
VIII. Ajax Call Action Method MVC with ParametersKhi cần truyền các tham số từ form tới controller, chúng ta có thể sử dụng các thuộc tính có tên tương ứng với tên tham số trong controller. Dưới đây là một ví dụ về cách truyền tham số từ form tới controller bằng AJAX:
$.ajax({url: ‘/Controller/AjaxForm’,type: ‘POST’,data: formData + ‘¶m1=’ + param1Value + ‘¶m2=’ + param2Value,success: function (response) {$(‘#result’).html(response);}});});“`Trong ví dụ này, chúng ta đã truyền tham số `param1` và `param2` từ form tới controller bằng cách nối chuỗi vào dữ liệu gửi đi.
*FAQs:
Q: AJAX submit form MVC là gì?A: AJAX submit form MVC cho phép gửi form lên server mà không làm tải lại trang. Chúng ta có thể sử dụng AJAX, jQuery và MVC trong Asp.net Core để triển khai tính năng này.
Q: Làm cách nào để gửi form bằng AJAX trong Asp.net Core?A: Chúng ta có thể sử dụng jQuery AJAX để gửi form bằng AJAX trong Asp.net Core. Chúng ta cần xác định phương thức HTTPPost trong controller để nhận dữ liệu từ form và tiến hành xử lý.
Q: Làm cách nào để truyền tham số từ form tới controller bằng AJAX?A: Để truyền tham số từ form tới controller bằng AJAX, chúng ta có thể nối chuỗi tham số vào dữ liệu gửi đi trong phương thức AJAX.
Q: Làm cách nào để kiểm tra điều kiện trước khi gửi form bằng AJAX?A: Chúng ta có thể sử dụng JavaScript để kiểm tra điều kiện trước khi gửi form bằng AJAX. Chẳng hạn, chúng ta có thể kiểm tra xem các trường trong form có được điền đầy đủ hay không.
Từ khoá người dùng tìm kiếm: mvc ajax submit form AJAX submit form MVC, Asp net Core Ajax form post, jQuery ajax send form data, Asp net MVC Ajax post to controller, Ajax serialize form data, Before submit form jQuery, Post model to controller mvc using ajax, Ajax call action method MVC with parameters
Chuyên mục: Top 64 mvc ajax submit form
(#40) Post data using ajax in mvc | Asp.Net MVC 5 tutorial-step by step in Hindi
Xem thêm tại đây: hanoilaw.vn
Post Data without Form Serialize
Step 1
Create an action method in controller.
public IActionResult Index() { return View(); }
Step 2
Create a model class. To add a model class, right-click on Model folder, click on Add > Class.
Step 3
Give an appropriate name to your model. Here I gave name as student to my model class.
Step 4
Create properties in your model class.
public class Student { public int StudentId { get; set; } public string StudentName { get; set; } public string Gender { get; set; } public int Standard { get; set; } public string City { get; set; } public bool IsRegular { get; set; } }
Step 5
Create a new action method which will be called from Ajax. As you see in below code, I create Post method named SaveStudentWithoutSerialize which takes Student model class as a parameter and return type is JSON.
Create view for appropriate to your requirement and model.
@model Student
Explanation of JavaScript
In JavaScript, I create a function named SaveStudent.
As you see in above JavaScript code, first we create an object which contains our data properties which we want to pass to controller and pass this object to data property of Ajax’s data as we discussed above.
You can see in below image how value stored in this object.
The point to remember here is that give the same name of property that you gave to your model class.
On success and error callback, we show alert to user.
Click on Save button and will go to controller side and data is bound to student model and shown in below image. And message is returned to Ajax side which will show in alert.
Asp net Core Ajax form post
ASP.NET Core là một framework phát triển ứng dụng web mạnh mẽ và đa nền tảng được phát triển bởi Microsoft. Nó không chỉ hỗ trợ nhiều ngôn ngữ lập trình, như C# và F#, mà còn cho phép bạn xây dựng các ứng dụng web chạy trên các hệ điều hành khác nhau như Windows, MacOS và Linux.
Ajax, viết tắt của Asynchronous JavaScript and XML, là một phương pháp cho phép tương tác giữa máy khách và máy chủ mà không làm tải lại toàn bộ trang web. Bằng cách sử dụng Ajax, chúng ta có thể gửi yêu cầu và nhận phản hồi từ máy chủ mà không cần làm mất liên lạc với trang web hiện tại.
Có nhiều cách để thực hiện một Ajax form post trong ASP.NET Core. Trong bài viết này, chúng ta sẽ tập trung vào việc sử dụng thư viện jQuery để đơn giản hóa quá trình lập trình và tăng tính tương thích trên nhiều trình duyệt.
Đầu tiên, hãy tạo một biểu mẫu HTML đơn giản chứa các trường và nút gửi. Ví dụ, chúng ta sẽ tạo một biểu mẫu đăng ký cho một người dùng với các trường như tên, email và mật khẩu.
“`html
“`
Tiếp theo, chúng ta cần viết mã JavaScript để gửi dữ liệu biểu mẫu đến máy chủ và xử lý phản hồi trả về. Đầu tiên, chúng ta sẽ ngăn chặn việc gửi dữ liệu biểu mẫu một cách truyền thống bằng cách gán một hàm xử lý cho sự kiện submit của biểu mẫu. Sau đó, chúng ta sẽ gửi dữ liệu AJAX bằng cách sử dụng phương thức `$.ajax()` của jQuery.
var formData = {name: $(‘#name’).val(),email: $(‘#email’).val(),password: $(‘#password’).val()};
$.ajax({type: ‘POST’,url: ‘/register’,data: formData,success: function (response) {// Xử lý phản hồi từ máy chủ},error: function (xhr, status, error) {// Xử lý lỗi nếu có}});});});“`
Ở đây, chúng ta đã ngăn chặn mặc định thực hiện gửi biểu mẫu và gửi dữ liệu bằng cách thu thập giá trị của các trường và sử dụng phương thức POST để gửi dữ liệu đến đường dẫn `/register`. Sau đó, chúng ta đã xác định hai hàm xử lý: một cho thành công và một cho lỗi. Chúng ta có thể sử dụng hàm này để thực hiện các hành động sau khi nhận được phản hồi từ máy chủ, chẳng hạn như hiển thị thông báo thành công hoặc chuyển hướng người dùng đến trang khác.
FAQs:1. Tại sao chúng ta cần sử dụng Ajax trong việc gửi dữ liệu biểu mẫu?Ajax cho phép gửi dữ liệu biểu mẫu mà không làm tải lại toàn bộ trang web, cung cấp trải nghiệm người dùng mượt mà hơn và giữ cho trạng thái của trang không thay đổi.
2. Tôi có thể sử dụng Ajax trong ASP.NET Core mà không cần jQuery không?Đúng vậy, bạn có thể sử dụng các thư viện JavaScript khác như Axios hoặc Fetch API để gửi dữ liệu Ajax trong ASP.NET Core.
3. Làm thế nào để xử lý dữ liệu biểu mẫu trên máy chủ ASP.NET Core?Trên máy chủ, bạn có thể sử dụng các tham số hoặc mô hình để ràng buộc và xử lý dữ liệu biểu mẫu được gửi từ phía máy khách. ASP.NET Core cho phép bạn xây dựng các API để thực hiện các xử lý này.
4. Làm thế nào để hiển thị thông báo lỗi từ phía máy chủ trên máy khách?Khi nhận được phản hồi lỗi từ máy chủ, bạn có thể xử lý lỗi đó trong hàm error và hiển thị thông báo lỗi cho người dùng, ví dụ: `alert(‘Có lỗi xảy ra: ‘ + error)`. Bạn cũng có thể sử dụng các thư viện UI như Bootstrap hoặc Toastr để tạo thông báo lỗi ở giao diện đẹp hơn.
ASP.NET Core Ajax Form Post tạo ra một cách dễ dàng để gửi và nhận dữ liệu biểu mẫu mà không làm tải lại trang. Qua bài viết này, bạn đã học cách sử dụng Ajax và jQuery để thực hiện thành công việc này.
Hình ảnh liên quan đến chủ đề mvc ajax submit form
Link bài viết: mvc ajax submit form.
Xem thêm thông tin về bài chủ đề này mvc ajax submit form.
Asp.Net MVC jQuery AJAX Form Submit using Serialize Form …
Submit form using AJAX in Asp.Net mvc 4 – Stack Overflow
How to submit a form in asp.net mvc using ajax.beginform
MVC: How to submit a form in widget using AJAX call
Form Submit using Ajax in ASP.NET MVC – Microsoft TechNet
ASP.Net MVC: Submit Form using jQuery – ASPSnippets
Ajax form submit in asp.net MVC
Form – How to validate a form and submit its data via AJAX
jQuery Ajax Upload file Anda Data in MVC Core – Medium
Our next step is to insert Jquery Ajax Form Submit with Serializing because our article title is Asp.Net MVC jQuery AJAX Form Submit using Serialize Form Data into Model.
Switch back to CREATE.CSHTML file to insert AJAX code.
Now switch to CONTROLLER to mark BREAKPOINT or DEBUGGER
You can see in the above form where we enter data. On clicking on SUBMIT button this data we should get in controller side ADDFRIEND method.
As I clicked on SUBMIT button alert popup appeared.
You can see values are separated with & symbol.
In the above screen you can see we received data from view.
To recap the article, we have taken following steps:
Created Empty Asp.Net MVC project
Installed Jquery from NuGet
Created Controller called “FriendController”
Created View “Create”
Created ActionMethod “AddFriend”
Putting all the important code at one place:
I'm trying to learn asp.net and so far I can load other page contents without refreshing using
Ajax.Actionlink
and
AjaxOptions()
but I can't figure it out how to use ajax when submitting a form. I did a lot of googling but couldn't find the appropriate solution. Here are my codes,
Controller page
namespace CrudMvc.Controllers { public class HomeController : Controller { sampleDBEntities db = new sampleDBEntities(); // // GET: /Home/ public ActionResult Index() { return View(db.myTables.ToList()); } public PartialViewResult Details(int id = 0) { myTable Table = db.myTables.Find(id); return PartialView(Table); } [HttpGet] public PartialViewResult Create() { return PartialView(); } [HttpPost] public ActionResult Create(myTable table) { if (ModelState.IsValid) { db.myTables.Add(table); db.SaveChanges(); return RedirectToAction("Index"); } return View(table); } protected override void Dispose(bool disposing) { db.Dispose(); base.Dispose(disposing); } } }
Foremost here I added two script from CDN. First is JQuery Validate and second one is JQuery Validate unobtrusive. JQuery Validate unobtrusive used to show validation at client side without submitting form. So here we can save time to make round trip to the server.
All this JavaScript is added in Script section because of JQuery script is defined in layout file below of RenderBody() where this view will render when we run project. If we do not pass these scripts in this section, it will give JQuery is required because it will render before JQuery is rendered.
In document ready event, I parse form element to JQuery Validate unobtrusive by form ID. When all the element is loaded in document JQuery Validate unobtrusive add special data attributes to all fields as per validation given in data annotation attributes as you can see in below image.
In SaveStudent function first we check if all the fields value are as per our given validation or not if any error occur it will show in span tag otherwise it will go inside condition and execute rest of the script.
For formData here we just serialize the form by its ID attribute rather than old way which we have shown in above method. Value is stored same as query string in this object as you see in below image
Rest of Ajax call is same as we shown above.
You can download or access all these code from my GitHub.
By Chris on Code and Andy Hattemer
jQuery can be paired with form submission to handle validation. This has the benefit of providing users with feedback on any errors in their input.
In this tutorial, you will be presented with a sample form that communicates to a PHP backend. The form will use jQuery to process a form without a page refresh (using AJAX), indicate any errors, and also display a success message.
Deploy your frontend applications from GitHub using DigitalOcean App Platform. Let DigitalOcean focus on scaling your app.
To complete this tutorial, you will need:
Note: This tutorial does not specify the latest versions of jQuery (currently 3.5.1) or Bootstrap (currently 5.0.0-beta1). However, many of the lessons in this tutorial still pertain to the latest versions.
This tutorial was verified with PHP v7.3.24, jQuery v2.0.3, and Bootstrap v3.0.3.
For the purposes of this tutorial, the backend will be written in PHP.
First, open a terminal window and create a new project directory:
mkdir jquery-form-validation
Navigate to this new project directory:
cd jquery-form-validation
Then, use your code editor to create a new
process.php
file:
This file will take values for
name
,
superheroAlias
. If any of these values are not provided, an error message will be sent back. Many other validations could be performed at this point, but for the purposes of this tutorial, you will only be ensuring these required inputs have been provided. Otherwise, if a value for
name
,
superheroAlias
are present, a success message will be sent back.
Note: In a real-world scenario, the backend would also be responsible for other tasks such as taking the data and saving changes to a database, creating a session, or sending an email.
Now that you have the form processing completed, you can create the form.
For the purposes of this tutorial, Bootstrap will be used to build out the views.
In your project directory, use your code editor to create an
index.html
file:
jQuery Form Example
Processing an AJAX Form
The CDN (content delivery network) version of Bootstrap and jQuery will be referenced. The form’s
action
will be set to the PHP file that was created earlier. The form will consist of fields for
name
,
superheroAlias
. The form will also need a Submit button.
Open a terminal window and navigate to the project directory. And run the PHP server:
php -S localhost:8000
Visit
localhost:8000
in your web browser and observe the following:
Now that you have the form completed, you can create the script to handle form submission.
To submit a form via AJAX, your script will need to handle four tasks:
In your project directory, use your code editor to create a new
form.js
" ); } if (data.errors.email) { $("#email-group").addClass("has-error"); $("#email-group").append( '
' + data.errors.email + "
" ); } if (data.errors.superheroAlias) { $("#superhero-group").addClass("has-error"); $("#superhero-group").append( '
' + data.errors.superheroAlias + "
" ); } } else { $("form").html( '
' + data.message + "
" ); } }); event.preventDefault(); }); // ...
This code checks to see if the response contains an error for each field. If an error is present, it adds a
has-error
class and appends the error message.
Now, revisit your form in a web browser and experiment with submitting data with the form.
If there are any errors that come back from the server, the form will provide feedback on any required fields:
And if there are no errors that come back from the server, the form will provide feedback for a successful submission:
Every time we submit the form, our errors from our previous submission are still there. You will need to clear them by removing them as soon as the form is submitted again.
If there is an error connecting to the server, there will be no JSON response from the AJAX call. To prevent users from waiting for a response that will never arrive, you can provide an error message for connection failures.
If the server is broken or down for any reason, a user who attempts to submit a form will get an error message:
Now that you have the server error message complete, you have completed the example form.
$.postinstead of
$.ajax
jQuery also provides a
$.post
shorthand method as an alternative to
$.ajax
.
The
$.ajax
code in
form.js
could be rewritten with
$.post
:
$.post('process.php', function(formData) { // place success code here }) .fail(function(data) { // place error code here });
The advantage of
$.post
is it does not require as much connection configuration to be declared.
In this article, you built a sample form that communicates to a PHP backend with jQuery and displays any errors in the form.
As a next step, you will want to explore more complex validations like valid email addresses and dates. You may also be interested in applying client-side validations that work in the browser.
If you’d like to learn more about JavaScript, check out our JavaScript topic page for exercises and programming projects.
Want to deploy your application quickly? Try Cloudways, the #1 managed hosting provider for small-to-medium businesses, agencies, and developers - for free. DigitalOcean and Cloudways together will give you a reliable, scalable, and hassle-free managed hosting experience with anytime support that makes all your hosting worries a thing of the past. Start with $100 in free credits!
This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!
Hello, can you guide on how to add google recaptcha to the form?
This comment has been deleted
specifically: when I fill out the form (correctly/incorrectly) I can see in the browser console the correct success true/false output, but the form does not deliver the success/fail message, it stays showing the form.
doesn’t seem to work!
This code doesn´t really work anymore: Uncaught ReferenceError: data is not defined is the error at the console. I don´t know why exactly this occurs. I am using php7.4.
Great tutorial! Very helpful!
I ran into one small issue trying to use $.post. If you want to use $.post instead of $.ajax with the code above, you need to add the ‘json’ type after the function:
$.post(‘process.php’, function(formData) { // place success code here }, ‘json’) .fail(function(data) { // place error code here });
Don’t work {“success”:false,“errors”:{“name”:“Name is required.”,“email”:“Email is required.”,“superheroAlias”:“Superhero alias is required.”}}
is not working
Extremely helpful, very simple and concise.
Thanks so much
This is great.
Could you possible include a working example or a download of a build working version?
Click below to sign up and get $200 of credit to try our products over 60 days!
Working on improving health and education, reducing inequality, and spurring economic growth? We'd like to help.
Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.
Open Visual Studio and click on create a new project.
Step 2
Select Asp.net Core Web App with Model View Controller and click on next button. You can also select Asp.net core without MVC or empty project but you have to add libraries and layout yourself. But in this template model, view and controller folder are already created with the required libraries and layout file.
Step 3
Enter your project name, location, and solution name and click on next button.
Step 4
Select targeted framework and other information like authentication if required etc. and click on Create button.
Step 5
Here I remove already created model, controller and its view. If you delete the existing controller, create new controller by right click on controller folder then Add>Controller.
Gave controller name and click on Add button.
jQuery ajax send form data
Khi bạn có một form HTML và muốn gửi dữ liệu từ form đó đến server mà không cần làm trang mới, jQuery ajax là một công nghệ mạnh mẽ để làm điều đó. Bằng cách sử dụng jQuery ajax, bạn có thể gửi các yêu cầu HTTP như GET, POST, PUT, DELETE và nhanh chóng xử lý các phản hồi từ server.
Cách thức gửi dữ liệu form bằng jQuery ajax khá đơn giản. Đầu tiên, bạn cần tạo một sự kiện submit cho form HTML. Khi form được submit, ta ngăn chặn hành vi mặc định của nó bằng cách sử dụng phương thức `preventDefault()` của jQuery. Sau đó, ta thu thập dữ liệu từ form bằng phương thức `serialize()` và gửi nó đến server bằng phương thức `ajax()`.
Dưới đây là mã ví dụ cho việc gửi dữ liệu form bằng jQuery ajax:
“`javascript$(‘form’).submit(function(event) {event.preventDefault(); // Ngăn chặn hành vi mặc định của form
var formData = $(this).serialize(); // Thu thập dữ liệu form
$.ajax({url: ‘server.php’, // Đường dẫn đến server xử lý dữ liệumethod: ‘POST’, // Phương thức gửi dữ liệudata: formData, // Dữ liệu formsuccess: function(response) {// Xử lý phản hồi từ serverconsole.log(response);},error: function(xhr, status, error) {// Xử lý lỗi nếu cóconsole.log(error);}});});“`
Trong mã ví dụ trên, chúng ta đã sử dụng sự kiện `submit` cho form và ngăn chặn hành vi mặc định của nó bằng cách sử dụng `preventDefault()`. Sau đó, chúng ta đã thu thập dữ liệu từ form bằng phương thức `serialize()` và gửi nó đến server bằng `ajax()`. Phản hồi từ server được xử lý trong các hàm `success()` hoặc `error()` tùy thuộc vào kết quả của yêu cầu Ajax.
FAQs (Câu hỏi thường gặp):1. Tại sao chúng ta cần sử dụng jQuery ajax để gửi dữ liệu form?jQuery ajax giúp chúng ta gửi dữ liệu từ một form HTML đến server mà không cần làm trang mới, giúp trải nghiệm người dùng trở nên mượt mà và nhanh chóng.
2. Thu thập dữ liệu từ form bằng phương thức nào và tại sao?Trong ví dụ trên, chúng ta đã sử dụng phương thức `serialize()` để thu thập dữ liệu từ form. Phương thức này giúp chúng ta thu thập tất cả các giá trị của các trường form một cách dễ dàng và sẵn sàng để gửi đi.
3. Có thể gửi dữ liệu form sử dụng phương thức GET không?Có, chúng ta có thể sử dụng phương thức `GET` thay vì `POST` để gửi dữ liệu form. Để làm điều này, bạn chỉ cần thay đổi giá trị của thuộc tính `method` trong phương thức `ajax()` thành `’GET’`.
4. Có cách nào để gửi file từ form sử dụng jQuery ajax không?Có, chúng ta có thể sử dụng `FormData` để gửi cả dữ liệu văn bản và các tệp tin từ form. Điều này đòi hỏi một số phức tạp hơn trong xử lý phía server, nhưng nó hoàn toàn khả thi khi làm việc với jQuery ajax.
Trên đây là một số điểm nổi bật về jQuery ajax send form data và cách gửi dữ liệu từ form HTML đến server. Sử dụng jQuery ajax giúp chúng ta xử lý dữ liệu form một cách nhanh chóng và mượt mà, nâng cao trải nghiệm người dùng trên trang web.
What Is Ajax?
AJAX stand for Asynchronous JavaScript and XML. AJAX allows you to send and receive data asynchronously without reloading the web page. So it is fast. A user can continue to use the application while the client program requests information from the server in the background. It is used to communicate with the server without refreshing the web page and thus increasing the user experience and better performance.
AJAX submit form MVC
Trong kiến trúc MVC, mô hình (model) đại diện cho dữ liệu và xử lý logic của ứng dụng, còn người xem (view) là giao diện người dùng và bộ điều khiển (controller) là thành phần chịu trách nhiệm kiểm soát xu hướng điều hướng và xử lý các sự kiện từ người dùng. Khi người dùng gửi một biểu mẫu, mô hình sẽ tiếp nhận dữ liệu và thực hiện quá trình xử lý, sau đó trả về kết quả cho người dùng thông qua người xem.
Tuy nhiên, trong trường hợp sử dụng truyền thống không sử dụng AJAX, sau khi người dùng gửi một biểu mẫu, trang web sẽ được tải lại hoàn toàn và tất cả các dữ liệu hiển thị trên trang sẽ bị mất. Điều này không chỉ làm mất thời gian cho người dùng, mà còn có thể gây mất dữ liệu và gây phiền toái.
Với AJAX, truyền dữ liệu qua mưới thức gửi không đồng bộ (asynchronous), mô hình sẽ nhận dữ liệu thông qua AJAX và thực hiện xử lý. Người xem không cần phải tải lại toàn bộ trang và chỉ cần cập nhật phần cần thiết. Điều này giúp cải thiện trải nghiệm người dùng và tăng tốc độ phản hồi của ứng dụng.
Trong kiến trúc MVC, điều quan trọng là bảo đảm rằng cấu trúc của ứng dụng vẫn được duy trì khi sử dụng AJAX để gửi biểu mẫu. Việc này thường được thực hiện bằng cách sử dụng các yêu cầu AJAX để gửi dữ liệu và truy xuất mô hình từ bộ điều khiển.
Cách tiếp cận phổ biến trong AJAX submit form MVC là sử dụng JavaScript và jQuery để tiến hành việc gửi dữ liệu. JavaScript cung cấp các phương thức để tạo yêu cầu AJAX và jQuery giúp việc thao tác với DOM dễ dàng hơn. Người xem có thể gửi các yêu cầu AJAX tới bộ điều khiển và xử lý phản hồi trả về từ mô hình.
Để thực hiện đúng MVC, việc xử lý biểu mẫu và truy xuất mô hình nên được thực hiện bởi các hành động (actions) trong bộ điều khiển. Mỗi biểu mẫu có thể gắn kết với một hành động trong bộ điều khiển, sẽ được kích hoạt khi người dùng gửi biểu mẫu. Hành động này sẽ nhận dữ liệu từ biểu mẫu và gọi các phương thức dùng để xử lý trong mô hình. Sau khi xử lý, bộ điều khiển sẽ trả lại kết quả cho người xem thông qua AJAX.
Một số câu hỏi thường gặp về AJAX submit form MVC:
Q: AJAX submit form trong MVC là gì?A: AJAX submit form trong MVC là phương pháp sử dụng AJAX để gửi biểu mẫu và cập nhật trang web theo mô hình MVC.
Q: Điều gì xảy ra khi một biểu mẫu được gửi bằng AJAX trong MVC?A: Khi một biểu mẫu được gửi bằng AJAX trong MVC, dữ liệu từ biểu mẫu sẽ được gửi đến bộ điều khiển thông qua yêu cầu AJAX. Bộ điều khiển sẽ xử lý dữ liệu và gọi các phương thức tương ứng trong mô hình. Sau đó, kết quả xử lý sẽ được trả về cho người xem để cập nhật trang web tương ứng.
Q: Lợi ích của việc sử dụng AJAX submit form trong MVC là gì?A: Việc sử dụng AJAX submit form trong MVC giúp cải thiện trải nghiệm người dùng bằng cách cung cấp phản hồi nhanh chóng và tương tác mượt mà. Nó cũng giúp giảm tải trang web và tối ưu hóa hiệu suất mạng.
Q: Phải sử dụng ngôn ngữ lập trình nào để thực hiện AJAX submit form trong MVC?A: Ngôn ngữ lập trình phổ biến như JavaScript và framework như jQuery thường được sử dụng để thực hiện AJAX submit form trong MVC.
Q: Có những bước nào cần thực hiện khi sử dụng AJAX submit form trong MVC?A: Các bước cơ bản bao gồm việc gửi yêu cầu AJAX từ người xem tới bộ điều khiển, xử lý dữ liệu và gọi phương thức tương ứng trong mô hình, sau đó trả lại kết quả cho người xem để cập nhật trang web.
Trên đây là một số thông tin về AJAX submit form trong MVC. Việc sử dụng AJAX trong môi trường MVC giúp tăng cường khả năng tương tác và cải thiện trải nghiệm người dùng.
Hình ảnh liên quan đến chủ đề mvc ajax post form
Link bài viết: mvc ajax post form.
Xem thêm thông tin về bài chủ đề này mvc ajax post form.
Asp.Net MVC jQuery AJAX Form Submit using Serialize Form …
Submit form using AJAX in Asp.Net mvc 4 – Stack Overflow
Submit (POST) FormData to Controller using jQuery AJAX in …
MVC: How to submit a form in widget using AJAX call
How to submit a form in asp.net mvc using ajax.beginform
How To Submit AJAX Forms with JQuery – DigitalOcean
4 Ways to Create Form in ASP.NET MVC – Complete C# Tutorial
Getting Data From View to Controller in MVC – C# Corner
How to submit a form in asp.net mvc using ajax.beginform
Form Submit using Ajax in ASP.NET MVC – Microsoft TechNet
Ajax form submit in asp.net MVC
How To Submit AJAX Forms with JQuery – DigitalOcean
jQuery Ajax Upload file Anda Data in MVC Core – Medium
Xem thêm: https://hanoilaw.vn/category/blog blog
In this article I will explain with an example, how to submit (post) a Form and send data from View to Controller using jQuery AJAX in ASP.Net Core MVC.
This article will explain how to create Form Fields and then send data from View to Controller using Form Collection and jQuery AJAX in ASP.Net Core MVC.
Controller
The Controller consists of two Action methods.
Action method for handling GET operation
Inside this Action method, simply the View is returned.
Action method for handling AJAX POST operation
This Action method handles the AJAX Form submission and it accepts the value of the Form elements as parameter.
Note: The following Action method handles AJAX calls and hence the return type is set to JsonResult.
The FirstName and LastName values are merged and then returned back to the calling jQuery AJAX function after wrapping it into a JSON object.
public class HomeController : Controller
public IActionResult Index()
return View();
[HttpPost]
public JsonResult Index(string firstName, string lastName)
string name = string.Format("Name: {0} {1}", firstName, lastName); ;
return Json(new { Status = "success", Name = name });
View
The View consists of an HTML Form which has been created using the Razor Tag attributes with the following attributes.
asp-action – Name of the Action. In this case the name is Index.
asp-controller – Name of the Controller. In this case the name is Home.
method – It specifies the Form Method i.e. GET or POST. In this case it will be set to POST.
There are two TextBox fields created for capturing values for First Name and Last Name.
There’s also an HTML Button at the end of the Form which has been assigned with a JavaScript OnClick event handler.
When the Submit Button is clicked, the AjaxFormSubmit JavaScript function is called.
First, the URL of the jQuery AJAX function is set using the value of the Action attribute of the Form.
Then the values of the TextBoxes are fetched and are added to the FormData object.
Note: The name specified in the FormData object and the parameter names in the Controller’s Action method must be same in order to fetch values.
Finally, the received response is displayed using HTML SPAN.
This article helps beginner and advanced developers get VIEW form data into controller side with help of JQUERY AJAX. In this walk through you will see controller side received data on click of SUBMIT button.
Those who are new will enjoy learning how to make the empty template of Asp.Net MVC ready.
You will learn following things in this article
How to add jquery in project
Where NuGet stores installed Packages details
Jquery Ajax Form Submit using Serializing Form Data into a Model
Create a project called “AspNetMvcJqueryAjaxSerializeForm”
Click Ok to proceed
By default view after “AspNetMvcJqueryAjaxSerializeForm”project created.
In empty project template visual studio will not give any controller , model and view. All three folders called CONTROLLERS, MODELS and VIEWS are blank only Web.Config file exists inside VIEWS folder.
How to add jquery in project?
Now we are going to add Jquery into project with help of NUGET.
Right Click on Project title inside SOLULTION EXPLORER.
Select option called Manage NuGet Packages. . .
Follow the simple steps as given in image
STEPS
Select browse to do search for jquery.
Type “Jquery” to search.
Single click on Jquery
You can select your desired version.
Click on Install
After selecting dialog box, in output window you will get this message:
In the above you can see jquery installed successfully. You can even see Package.config file.
Where NuGet store installed Packages details?
Package.config file maintains the list of NuGet packages.
Now we are going create new CONTROLLER called FriendController.
Right click on CONTROLLERS folder select ADD --> Controller
In FriendController you can see following ACTIONRESULT method is created
Index.
Details
Create -- HTTP GET
Create - HTTP POST
Edit -- HTTP GET
Edit - HTTP POST
Delete - HTTP GET
Delete - HTTP POST
Now we create model called “FriendModel”
Right click on Models folder.
Select ADD ---> Class -->FriendModel (give name FRIENDMODEL)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace AspNetMvcJqueryAjaxSerializeForm.Models
public class FriendModel
public string FriendName { get; set; }
public string Phone { get; set; }
public string State { get; set; }
Build Project by Right clicking on Solution-Explorer.
At left side bottom you can see “Build Succeeded”.
Again Switch back to FriendController controller.
Right click on Create ActionResult.
Now you can see in Shared folder ---> _Layout.cshtml created.
Double click on _Layout.cshtml file:
At bottom Visual Studio added Jquery link that is wrong because
We have added Jquery 3.4.1 .
Copy this link and paste at head section, we had added latest version of jquery and you can cross check in SCRIPTS folder the jquery version.
Change according current version you had downloaded from NuGet.
Move the this line
Code at top following location:
To check if jquery has started working or not you just put the following code at the bottom of Create.cshtml.
Press F5 and execute project you will get following screen:
You can see tin he above screenshot the ready alert box has appeared.
Now switch back to FriendController
Add namespace at top of the file
Using AspNetMvcJqueryAjaxSerializeForm.Models;
We added namespace because our model reside.
Now select Create HTTP Post method rename as AddFriend do following changes:
[HttpPost]
public ActionResult AddFriend(FriendModel fm)
return RedirectToAction("create");
Now switch back to Create.cshtml file and update code.
@{
ViewBag.Title = "Create";
Syntax
$(selector).serialize()
AJAX helps you to load data in the background and display it on the webpage, without reloading the complete webpage. It provides a smoother user experience while you are working with paging, sorting or filtering features in FlexGrid. This topic describes how to bind a FlexGrid at client side using an AJAX call.
This topic comprises the following steps:
The following image shows how the FlexGrid appears after completing the steps above:
Back to Top
Sale.cs. For more information on how to add a new model, see Adding Controls.
Sale.csmodel. We are using Sale class to represent sales order data in the database. Each instance of Sale object will correspond to a record in the FlexGrid control.
Sale.cs
Copy Code
using System; using System.Collections.Generic; using System.Linq; namespace AjaxDataBinding.Models { public class Sale { public int ID { get; set; } public DateTime Start { get; set; } public DateTime End { get; set; } public string Country { get; set; } public string Product { get; set; } public string Color { get; set; } public double Amount { get; set; } public double Amount2 { get; set; } public double Discount { get; set; } public bool Active { get; set; } public MonthData[] Trends { get; set; } public int Rank { get; set; } private static List
COUNTRIES = new List
{ "US", "UK", "Canada", "Japan", "China", "France", "German", "Italy", "Korea", "Australia" }; private static List
PRODUCTS = new List
{ "Widget", "Gadget", "Doohickey" }; ///
/// Get the data. ///
/// /// public static IEnumerable
GetData(int total) { var colors = new[] { "Black", "White", "Red", "Green", "Blue" }; var rand = new Random(0); var dt = DateTime.Now; var list = Enumerable.Range(0, total).Select(i => { var country = COUNTRIES[rand.Next(0, COUNTRIES.Count - 1)]; var product = PRODUCTS[rand.Next(0, PRODUCTS.Count - 1)]; var color = colors[rand.Next(0, colors.Length - 1)]; var startDate = new DateTime(dt.Year, i % 12 + 1, 25); var endDate = new DateTime(dt.Year, i % 12 + 1, 25, i % 24, i % 60, i % 60); return new Sale { ID = i + 1, Start = startDate, End = endDate, Country = country, Product = product, Color = color, Amount = Math.Round(rand.NextDouble() * 10000 - 5000, 2), Amount2 = Math.Round(rand.NextDouble() * 10000 - 5000, 2), Discount = Math.Round(rand.NextDouble() / 4, 2), Active = (i % 4 == 0), Trends = Enumerable.Range(0, 12).Select(x => new MonthData { Month = x + 1, Data = rand.Next(0, 100) }).ToArray(), Rank = rand.Next(1, 6) }; }); return list; } public static List
GetCountries() { var countries = new List
(); countries.AddRange(COUNTRIES); return countries; } public static List
GetProducts() { List
products = new List
(); products.AddRange(PRODUCTS); return products; } } public class MonthData { public int Month { get; set; } public double Data { get; set; } } }
HomeController.csfrom the Controllers folder.
C#
Copy Code
[HttpPost] public JsonResult GetData() { List
saleList = Sale.GetData(10).ToList
(); return Json(saleList); }
Index.htmlfrom View/Home folder.
HTML
Copy Code
We'll bind data to the control on the client side using JavaScript to make an AJAX call to the Action created in the HomeController.cs file. When we bind the grid at client-side in the Load function below, instead of assigning the result data of AJAX call to FlexGrid itemSource property, we should update the sourceCollection of FlexGrid's collectionView at client-side to retain the server-side features of collectionView. We have also added a code check for any errors in date values of JSON data.
Index.htmlfile inside the Home folder and copy the following JavaScript code.
Index.html
Copy Code
Index.html
Copy Code
Trong bài viết này, mình sẽ giải thích bằng một ví dụ, cách gửi (đăng) form từ View đến Controller bằng cách sử dụng jQuery AJAX trong ASP.Net Core MVC.
Đầu tiên tạo dự án .net core MVC
ở controller home mình sẽ viết 1 active để nhận yêu cầu từ view theo phương thức HTTPPOST
input đầu vào là dạng parameter/ hoặc object cũng ok
mình sẽ hướng dẫn dạng tham số trước nhé
code thế này nhé:
[HttpPost]
public JsonResult IndexAjax(string firstName, string lastName)
string name = string.Format("Name: {0} {1}", firstName, lastName); ;
return Json(new { Status = "success", Name = name });
View:
View bao gồm một form HTML đã được tạo bằng cách sử dụng thuộc tính Razor Tag attributes với các thuộc tính sau.
Ở tag form có các thông số:
asp-action - Tên của Action. Trong trường hợp này, tên là IndexAjax.
asp-controller - Tên của Controller. Trong trường hợp này, tên là Home - trang chủ.
method="post" Phương thức form , tức là GET hoặc POST.
Trong trường hợp này, nó sẽ được đặt thành POST.
Có hai trường TextBox được tạo để nhập các giá trị cho Tên và Họ.
Ngoài ra còn có một button HTML ở cuối Form đã được chỉ định với trình xử lý sự kiện JavaScript OnClick.
Khi nhấp vào nút Gửi, hàm JavaScript AjaxFormSubmit được gọi.
Mình sẽ viết script function như sao:
Khi button Submit sẽ gọi hàm:
lấy data từ các input thêm vào đối tượng FormData.
Và post về action IndeAjax và trả kết quả json về client
và đây là kết quả:
Souce code:
By Chris on Code and Andy Hattemer
jQuery can be paired with form submission to handle validation. This has the benefit of providing users with feedback on any errors in their input.
In this tutorial, you will be presented with a sample form that communicates to a PHP backend. The form will use jQuery to process a form without a page refresh (using AJAX), indicate any errors, and also display a success message.
Deploy your frontend applications from GitHub using DigitalOcean App Platform. Let DigitalOcean focus on scaling your app.
To complete this tutorial, you will need:
Note: This tutorial does not specify the latest versions of jQuery (currently 3.5.1) or Bootstrap (currently 5.0.0-beta1). However, many of the lessons in this tutorial still pertain to the latest versions.
This tutorial was verified with PHP v7.3.24, jQuery v2.0.3, and Bootstrap v3.0.3.
For the purposes of this tutorial, the backend will be written in PHP.
First, open a terminal window and create a new project directory:
mkdir jquery-form-validation
Navigate to this new project directory:
cd jquery-form-validation
Then, use your code editor to create a new
process.php
file:
This file will take values for
name
,
superheroAlias
. If any of these values are not provided, an error message will be sent back. Many other validations could be performed at this point, but for the purposes of this tutorial, you will only be ensuring these required inputs have been provided. Otherwise, if a value for
name
,
superheroAlias
are present, a success message will be sent back.
Note: In a real-world scenario, the backend would also be responsible for other tasks such as taking the data and saving changes to a database, creating a session, or sending an email.
Now that you have the form processing completed, you can create the form.
For the purposes of this tutorial, Bootstrap will be used to build out the views.
In your project directory, use your code editor to create an
index.html
file:
jQuery Form Example
Processing an AJAX Form
The CDN (content delivery network) version of Bootstrap and jQuery will be referenced. The form’s
action
will be set to the PHP file that was created earlier. The form will consist of fields for
name
,
superheroAlias
. The form will also need a Submit button.
Open a terminal window and navigate to the project directory. And run the PHP server:
php -S localhost:8000
Visit
localhost:8000
in your web browser and observe the following:
Now that you have the form completed, you can create the script to handle form submission.
To submit a form via AJAX, your script will need to handle four tasks:
In your project directory, use your code editor to create a new
form.js
" ); } if (data.errors.email) { $("#email-group").addClass("has-error"); $("#email-group").append( '
' + data.errors.email + "
" ); } if (data.errors.superheroAlias) { $("#superhero-group").addClass("has-error"); $("#superhero-group").append( '
' + data.errors.superheroAlias + "
" ); } } else { $("form").html( '
' + data.message + "
" ); } }); event.preventDefault(); }); // ...
This code checks to see if the response contains an error for each field. If an error is present, it adds a
has-error
class and appends the error message.
Now, revisit your form in a web browser and experiment with submitting data with the form.
If there are any errors that come back from the server, the form will provide feedback on any required fields:
And if there are no errors that come back from the server, the form will provide feedback for a successful submission:
Every time we submit the form, our errors from our previous submission are still there. You will need to clear them by removing them as soon as the form is submitted again.
If there is an error connecting to the server, there will be no JSON response from the AJAX call. To prevent users from waiting for a response that will never arrive, you can provide an error message for connection failures.
If the server is broken or down for any reason, a user who attempts to submit a form will get an error message:
Now that you have the server error message complete, you have completed the example form.
$.postinstead of
$.ajax
jQuery also provides a
$.post
shorthand method as an alternative to
$.ajax
.
The
$.ajax
code in
form.js
could be rewritten with
$.post
:
$.post('process.php', function(formData) { // place success code here }) .fail(function(data) { // place error code here });
The advantage of
$.post
is it does not require as much connection configuration to be declared.
In this article, you built a sample form that communicates to a PHP backend with jQuery and displays any errors in the form.
As a next step, you will want to explore more complex validations like valid email addresses and dates. You may also be interested in applying client-side validations that work in the browser.
If you’d like to learn more about JavaScript, check out our JavaScript topic page for exercises and programming projects.
Want to deploy your application quickly? Try Cloudways, the #1 managed hosting provider for small-to-medium businesses, agencies, and developers - for free. DigitalOcean and Cloudways together will give you a reliable, scalable, and hassle-free managed hosting experience with anytime support that makes all your hosting worries a thing of the past. Start with $100 in free credits!
This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!
Hello, can you guide on how to add google recaptcha to the form?
This comment has been deleted
specifically: when I fill out the form (correctly/incorrectly) I can see in the browser console the correct success true/false output, but the form does not deliver the success/fail message, it stays showing the form.
doesn’t seem to work!
This code doesn´t really work anymore: Uncaught ReferenceError: data is not defined is the error at the console. I don´t know why exactly this occurs. I am using php7.4.
Great tutorial! Very helpful!
I ran into one small issue trying to use $.post. If you want to use $.post instead of $.ajax with the code above, you need to add the ‘json’ type after the function:
$.post(‘process.php’, function(formData) { // place success code here }, ‘json’) .fail(function(data) { // place error code here });
Don’t work {“success”:false,“errors”:{“name”:“Name is required.”,“email”:“Email is required.”,“superheroAlias”:“Superhero alias is required.”}}
is not working
Extremely helpful, very simple and concise.
Thanks so much
This is great.
Could you possible include a working example or a download of a build working version?
Click below to sign up and get $200 of credit to try our products over 60 days!
Working on improving health and education, reducing inequality, and spurring economic growth? We'd like to help.
Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.
How to use Ajax?
Making request using Ajax is very simple. Syntax of Ajax in JavaScript is as follows.
$.ajax({ //properties })
Basic Properties of Ajax
url: In this property you have to pass URL of your endpoint means when you want to post data.
type: Specify the type of request POST, Get, Put, Delete etc.
data: Data that you want to pass to a given endpoint.
success: This property is a callback function called when request return with OK or 200 code means your request is successful. This callback function also returns response data that pass from controller side.
error: This property is also a callback function that return when any error occurs while calling endpoint like endpoint not exist or bad request etc. This callback also have parameters which are request, status, and error.
async: This is a Boolean property that is by default false. If you pass true in this property it will call this request asynchronously means when sending this request other request also be called at the same time. If this is false, other request are only be called after this request is complete.
Explanation of View
Here, I create the same view as created in the above example.
But here all the fields are inside form tag and this form tag has ID which will be used in JavaScript side.
Main difference you noticed is that asp-for attribute is added in all fields and assign to its respective properties.
Also added span with validation-for attribute which will show error message when any validation error occur.
Introduction
Sending data from View to Controller is the basic need of any software system. Mostly, if we are using ASP.Net MVC Razor page as frontend then we need to send the form data from view to controller using Ajax post. In this article series, we will learn two methods to send the data from View to Controller using the ajax post method in the ASP.NET Core application.
We will use the following methods to submit the form data in this article series:
JSON Form Serialization
Without form serialization
However, in this first part, we will cover only the JSON Form serialization method.
Prerequisites
Visual Studio 2019 or later version
Source Code
Let’s create the project.
Step1
Open Visual Studio and Create project.
Step 2
Select the ASP.Net Core MVC and click on Next.
Step 3
Give the project name and location of your project.
Step 4
Select Target Framework .NET 5.0.
Step 5
Then, build the solution and you can run it. You can see the default page in the browser.
Up to now, we have only created the project, now we will move for form data Submission.
Step 6 – Add Model
Once it is created, then we will add the model: StudentModel. Click on the Models folder and add a new class named as StudentModel as depicted below.
For demo purpose, we will use four sample fields for form submission, so add four properties in the Student View model. Write below the line of code in this class:
public class StudentModel {
[Required]
public string Name {
get;
set;
}
[Required]
public string Email {
get;
set;
}
public string Phone {
get;
set;
}
}
Step 7
Add Action for View
For the sample demo, I will not create another controller we will use the existing (default) Home Controller. Now, we will add Action in Home Controller and create a view for Student Form submission named as CreateStudent.
Add below the line of code to add Action in Home Controller.
public IActionResult CreateStudent() {
return View();
}
Step 8 – Add View
Right-click on CreateStudent IActionResult just added in Step 7 and add View for it as depicted below.
Then, we will use the below javascript on the form submission button click event using Ajax in CreateStudent.cshtml page.
Here, we have used form serialization. The below line is for the Form serialization method.
$("#studenteForm").serialize();
Step 9 – Add post method in Home Controller for Submit button click Event
Then we will write the Post method in HomeController for the Form Submit event. Here is the code of HTTP post method in HomeController with Model validation.
[HttpPost]
public async Task < IActionResult > CreateStudent(StudentModel student) {
if (!ModelState.IsValid) return BadRequest("Enter required fields");
//Write your Insert code here;
return this.Ok($ "Form Data received!");
}
Now, build and run the project and fill all the fields, Submit the form, debug and check whether the data is passed to the controller or not.
Below is the design of the home page.
Design of Create Student page.
Below the picture shows that data is submitted to the controller successfully.
To sum up, in this article we have learned to submit the form data using the form serialization method and AJax in the ASP.NET Core application. In the next part, we will learn to submit the same form data with another method without the form serialization and using FormBody in Controller.
In this article I will explain with an example, how to submit (post) a Form and send data from View to Controller using jQuery AJAX in ASP.Net MVC Razor.
This article will explain how to create Form Fields and then send data from View to Controller using Form Collection and jQuery AJAX in ASP.Net MVC Razor.
Controller
The Controller consists of two Action methods.
Action method for handling GET operation
Inside this Action method, simply the View is returned.
Action method for handling AJAX POST operation
This Action method handles the AJAX Form submission and it accepts the value of the Form elements as parameter.
First, a check is performed whether valid Form values have been submitted and if the Form values are valid a BOOLEAN value TRUE is returned else a BOOLEAN value FALSE is returned.
public class HomeController : Controller
public ActionResult Index()
return View();
[HttpPost]
public ActionResult Index(string firstName, string lastName)
if (!string.IsNullOrEmpty(firstName) && !string.IsNullOrEmpty(lastName))
string name = string.Format("Name: {0} {1}", firstName, lastName);
return Json(true);
return Json(false);
View
The View consists of an HTML Form which has been created using the Html.BeginForm method with the following parameters.
ActionName – Name of the Action. In this case the name is Index.
ControllerName – Name of the Controller. In this case the name is Home.
FormMethod – It specifies the Form Method i.e. GET or POST. In this case it will be set to POST.
There are two TextBox fields created for capturing values for First Name and Last Name.
There’s also an HTML Button at the end of the Form which has been assigned with a JavaScript OnClick event handler.
When the Submit Button is clicked, the AjaxFormSubmit JavaScript function is called.
First, the URL of the jQuery AJAX function is set using the value of the Action attribute of the Form.
Then the values of the TextBoxes are fetched and are added to the FormData object.
Note: The name specified in the FormData object and the parameter names in the Controller’s Action method must be same in order to fetch values.
Finally, based on the received BOOLEAN response a JavaScript Alert Message Box with appropriate message is displayed.
@{
Layout = null;
Index
@using (Html.BeginForm("Index", "Home", FormMethod.Post, new { @id = "myForm" }))
First Name:
Last Name:
Screenshot
Browser Compatibility
The above code has been tested in the following browsers only in versions that support HTML5.
* All browser logos displayed above are property of their respective owners.
Downloads
mvc ajax post form
Mô hình MVC (Model-View-Controller) là một kiến trúc phần mềm phổ biến trong việc xây dựng ứng dụng web. Nó chia thành ba phần chính: Model, View và Controller. Model đại diện cho dữ liệu, View là giao diện người dùng và Controller là thành phần xử lý logic.
Khi làm việc với Form trong mô hình MVC, việc gửi dữ liệu từ View lên Controller thông qua AJAX có thể tăng cường trải nghiệm người dùng và giảm tải cho máy chủ. Bài viết này sẽ hướng dẫn cách sử dụng AJAX để gửi form trong mô hình MVC, xử lý dữ liệu gửi lên từ form, hiển thị thông báo thành công hoặc lỗi và cập nhật giao diện web.
Gửi form sử dụng AJAX trong mô hình MVC
Để gửi form bằng AJAX trong mô hình MVC, chúng ta cần sử dụng jQuery để thực hiện việc này. jQuery là một thư viện JavaScript phổ biến giúp tương tác với HTML, xử lý sự kiện và gửi các yêu cầu HTTP.
Đầu tiên, hãy thêm mã JavaScript sau trong phần `
` của tệp HTML:
“`html“`
Tiếp theo, chúng ta cần viết mã JavaScript để gửi form bằng AJAX. Dưới đây là ví dụ về cách gửi form có id là “myForm”:
“`javascript$(document).ready(function() {$(‘#myForm’).submit(function(e) {e.preventDefault(); // Ngăn chặn form gửi đi một cách thông thườngvar formData = $(this).serialize(); // Lấy dữ liệu trong form$.ajax({type: ‘POST’,url: ‘/controller/action’, // Đường dẫn tới Controller và Action xử lý formdata: formData,success: function(response) {// Xử lý kết quả trả về từ Controller},error: function(response) {// Xử lý lỗi}});});});“`
Trong đoạn mã trên, chúng ta đã sử dụng `$(‘myForm’).submit()` để bắt sự kiện gửi form. Sau đó, chúng ta sử dụng `serialize()` để lấy dữ liệu từ form và gửi lên bằng phương thức POST của AJAX.
Xử lý form bằng AJAX và MVC
Sau khi gửi form bằng AJAX, chúng ta cần xử lý dữ liệu gửi lên từ form trong Controller của mô hình MVC. Dưới đây là ví dụ về cách xử lý dữ liệu gửi lên từ form và trả về kết quả:
“`csharp[HttpPost]public ActionResult ProcessForm(MyModel model){// Xử lý dữ liệu gửi lên từ formif (ModelState.IsValid){// Xử lý thành côngreturn Json(new { success = true, message = “Form đã được gửi thành công!” });}else{// Xử lý lỗireturn Json(new { success = false, message = “Có lỗi xảy ra khi gửi form!” });}}“`
Trong đoạn mã trên, chúng ta đã sử dụng `[HttpPost]` để chỉ định Controller Action chỉ được gọi khi có yêu cầu POST từ AJAX. Tiếp theo, chúng ta nhận dữ liệu đã được gửi từ form thông qua tham số `MyModel model` và xử lý nó. Trong trường hợp dữ liệu hợp lệ, chúng ta trả về một đối tượng JSON với trường `success` là `true` và `message` là thông báo thành công. Trong trường hợp dữ liệu không hợp lệ, chúng ta trả về một đối tượng JSON với trường `success` là `false` và `message` là thông báo lỗi.
Xác thực dữ liệu gửi lên từ form bằng AJAX và MVC
Để xác thực dữ liệu gửi lên từ form, chúng ta có thể sử dụng các mô hình xác thực có sẵn trong ASP.NET MVC như Data Annotations hoặc Fluent Validation. Dưới đây là một ví dụ về cách sử dụng Data Annotations:
“`csharppublic class MyModel{[Required(ErrorMessage = “Hãy nhập tên của bạn”)]public string Name { get; set; }[EmailAddress(ErrorMessage = “Email không hợp lệ”)]public string Email { get; set; }}“`
Trong ví dụ trên, chúng ta đã sử dụng Data Annotations để xác thực dữ liệu gửi lên từ form. `Required` chỉ định trường “Name” là bắt buộc và `EmailAddress` chỉ định trường “Email” cần phải là một địa chỉ email hợp lệ.
Hiển thị thông báo thành công hoặc lỗi khi gửi form bằng AJAX trong MVC
Sau khi xử lý dữ liệu từ form trong Controller, chúng ta có thể hiển thị thông báo thành công hoặc lỗi trên giao diện người dùng. Chúng ta có thể sử dụng JavaScript để xử lý kết quả trả về từ Controller và hiển thị thông báo tương ứng.
Dưới đây là một ví dụ về cách hiển thị thông báo thành công hoặc lỗi khi gửi form bằng AJAX:
“`javascript…success: function(response) {if (response.success) {alert(response.message); // Hiển thị thông báo thành công} else {alert(response.message); // Hiển thị thông báo lỗi}},…“`
Trong đoạn mã trên, chúng ta đã sử dụng `alert()` để hiển thị thông báo thành công hoặc lỗi dựa trên kết quả trả về từ Controller.
Cập nhật giao diện web bằng AJAX trong mô hình MVC
Ngoài việc hiển thị thông báo thành công hoặc lỗi, chúng ta cũng có thể cập nhật giao diện web mà không cần tải lại trang bằng cách sử dụng AJAX trong mô hình MVC.
Dưới đây là một ví dụ về cách cập nhật giao diện web sau khi gửi form bằng AJAX:
“`javascript…success: function(response) {if (response.success) {$(‘#result’).html(response.message); // Cập nhật kết quả thành công vào một phần tử có id ‘result’} else {$(‘#error’).html(response.message); // Cập nhật thông báo lỗi vào một phần tử có id ‘error’}},…“`
Trong đoạn mã trên, chúng ta đã sử dụng `$(‘#result’).html()` và `$(‘#error’).html()` để cập nhật kết quả thành công và thông báo lỗi vào các phần tử có id ‘result’ và ‘error’.
Tối ưu hoá hiệu suất khi gửi form bằng AJAX trong mô hình MVC
Để tối ưu hoá hiệu suất khi gửi form bằng AJAX trong mô hình MVC, chúng ta có thể sử dụng FormData để gửi dữ liệu đồng thời với tập tin, hoặc sử dụng JSON để gửi dữ liệu phức tạp hơn.
Dưới đây là một ví dụ về cách tối ưu hoá hiệu suất khi gửi form bằng AJAX:
“`javascript…$(‘#myForm’).submit(function(e) {e.preventDefault();var formData = new FormData(this); // Sử dụng FormData để gửi dữ liệu với tập tin$.ajax({type: ‘POST’,url: ‘/controller/action’,data: formData,processData: false,contentType: false,success: function(response) {// Xử lý kết quả trả về từ Controller},error: function(response) {// Xử lý lỗi}});});…“`
Trong đoạn mã trên, chúng ta đã sử dụng `new FormData(this)` để tạo đối tượng FormData từ form, sau đó sử dụng `processData: false` và `contentType: false` để ngăn jQuery xử lý dữ liệu và đặt các giá trị `multipart/form-data` cho Header của yêu cầu.
FAQs
1. jQuery ajax send form data là gì?
`jQuery ajax send form data` là một phương pháp của jQuery để gửi dữ liệu từ form đi bằng AJAX.
2. AJAX submit form MVC là gì?
`AJAX submit form MVC` là một phương pháp trong ASP.NET MVC để gửi form đi bằng AJAX và xử lý dữ liệu gửi lên từ form trong Controller.
3. Asp net Core Ajax form post là gì?
`Asp net Core Ajax form post` là một phương pháp trong ASP.NET Core để gửi form đi bằng AJAX.
4. Asp net MVC Ajax post to controller là gì?
`Asp net MVC Ajax post to controller` là một phương pháp trong ASP.NET MVC để gửi dữ liệu từ form đi bằng AJAX và xử lý dữ liệu gửi lên từ form trong Controller.
5. FormData asp net mvc là gì?
`FormData asp net mvc` là một phương pháp trong ASP.NET MVC để gửi dữ liệu từ form đi bằng AJAX và xử lý dữ liệu gửi lên từ form trong Controller.
6. Post model to controller mvc using ajax là gì?
`Post model to controller mvc using ajax` là một phương pháp trong ASP.NET MVC để gửi dữ liệu từ mô hình (model) đi bằng AJAX và xử lý dữ liệu gửi lên từ form trong Controller.
7. Ajax form data là gì?
`Ajax form data` là dữ liệu trong form được gửi đi bằng AJAX.
Từ khoá người dùng tìm kiếm: mvc ajax post form jQuery ajax send form data, AJAX submit form MVC, Asp net Core Ajax form post, Asp net MVC Ajax post to controller, Formdata asp net mvc, Post model to controller mvc using ajax, Ajax form data, jQuery post form data
Chuyên mục: Top 97 mvc ajax post form
(#40) Post data using ajax in mvc | Asp.Net MVC 5 tutorial-step by step in Hindi
How to POST FormData using AJAX in MVC?
Ajax là một công nghệ web cung cấp khả năng gửi và nhận dữ liệu giữa máy khách và máy chủ mà không cần làm tải lại trang. Trong kiến trúc MVC (Model-View-Controller), Ajax rất hữu ích trong việc gửi dữ liệu cho máy chủ mà không cần refresh lại trang web. Điều này giúp cải thiện tốc độ và trải nghiệm người dùng. Trong bài viết này, chúng ta sẽ tìm hiểu cách POST FormData sử dụng Ajax trong MVC.
1. Tạo file HTMLĐầu tiên, chúng ta cần tạo một file HTML để chứa form và mã javascript. Bạn có thể đặt tên file là index.html.
“`html
“`
2. Xử lý yêu cầu POST trong MVCBây giờ, chúng ta cần xử lý yêu cầu POST từ Ajax trong hệ thống MVC. Đầu tiên, chúng ta cần tạo một action trong Controller để xử lý yêu cầu.
“`csharp[HttpPost]public ActionResult YourActionName(FormCollection form){var name = form[“name”];var email = form[“email”];
// Xử lý logic của bạn ở đây
return Content(“Success”);}“`
3. Tạo routeSau khi tạo action, chúng ta cần tạo một route để xử lý yêu cầu POST. Bạn có thể thêm route này vào file App_Start/RouteConfig.cs.
FAQs:1. FormData là gì?FormData là một đối tượng được sử dụng để tạo và quản lý dữ liệu biểu mẫu gửi từ máy khách đến máy chủ. Nó cho phép gửi dữ liệu theo các khối từ khóa và giá trị.
2. Tại sao chúng ta cần sử dụng Ajax để gửi dữ liệu FormData trong MVC?Sử dụng Ajax để gửi dữ liệu FormData trong MVC giúp cải thiện hiệu suất và trải nghiệm người dùng. Nó cho phép gửi và nhận dữ liệu mà không cần làm tải lại trang web.
3. Tại sao chúng ta cần đặt `contentType: false` và `processData: false` trong phần cấu hình Ajax?Đặt `contentType: false` trong phần cấu hình Ajax để tránh việc gửi dữ liệu dưới dạng `application/x-www-form-urlencoded` (mặc định) mà không phù hợp với FormData. Đặt `processData: false` để đảm bảo rằng dữ liệu không được xử lý trước khi gửi đi.
4. Có thể gửi dữ liệu khác ngoài FormData không?Có, bạn có thể gửi dữ liệu dưới dạng JSON hoặc x-www-form-urlencoded bằng cách sử dụng phương thức $.ajax() của thư viện jQuery.
5. Tôi có thể gửi dữ liệu từ nhiều form cùng lúc sử dụng FormData và Ajax không?Có, bạn có thể sử dụng cùng một đối tượng FormData và thêm dữ liệu từ các form khác nhau vào đối tượng này trước khi gửi đi.
Kết luận:Trên đây là cách POST FormData sử dụng Ajax trong hệ thống MVC. Bạn có thể sử dụng mã JavaScript để thu thập dữ liệu từ form, gửi nó đến máy chủ và xử lý dữ liệu đó trong Controller. Việc sử dụng Ajax giúp cải thiện tốc độ và trải nghiệm người dùng.
How to POST form with ajax?
Trong quá trình phát triển ứng dụng web, việc gửi dữ liệu từ form xuống máy chủ mà không cần tải lại trang là một khía cạnh quan trọng. Việc này có thể thực hiện dễ dàng bằng cách sử dụng công nghệ Ajax. Trong bài viết này, chúng ta sẽ tìm hiểu cách để POST form thông qua Ajax và tận dụng sức mạnh của nó.
POST form với Ajax là gì?Khi POST form bằng phương thức Ajax, công việc gửi dữ liệu form xuống máy chủ và nhận phản hồi từ nó diễn ra mà không cần tải lại trang. Điều này cho phép ứng dụng web thực hiện các thao tác cập nhật dữ liệu mà không làm phiền trải nghiệm người dùng.
Cách POST form với Ajax:1. Tạo form HTML:Đầu tiên, chúng ta cần tạo form HTML với các trường và phần tử cần thiết. Có thể chứa các input, textarea, select, v.v. Dễ dàng đặt ID cho form và các phần tử con để sử dụng trong mã JavaScript sau.
“`html
“`
2. Viết JavaScript:Tiếp theo, chúng ta cần viết mã JavaScript để xử lý việc POST form thông qua Ajax. Sử dụng JavaScript, chúng ta có thể lắng nghe sự kiện khi form được gửi đi và xử lý nó theo cách riêng.
“`javascript// JavaScript codedocument.getElementById(“myForm”).addEventListener(“submit”, function(event){event.preventDefault(); // Ngăn chặn hành vi mặc định của formvar form = event.target;var data = new FormData(form);
var xhr = new XMLHttpRequest();xhr.open(“POST”, “/url-of-your-server-side-script”, true);xhr.onreadystatechange = function(){if(xhr.readyState === XMLHttpRequest.DONE && xhr.status === 200) {// Xử lý phản hồi từ máy chủconsole.log(xhr.responseText);}};xhr.send(data);});“`
3. Xử lý phản hồi từ máy chủ:Sau khi máy chủ xử lý dữ liệu được gửi từ form, nó sẽ trả về phản hồi (response) cho yêu cầu Ajax. Chúng ta có thể xử lý phản hồi này trong hàm `xhr.onreadystatechange` trong mã JavaScript đã được viết ở bước trước. Ở đây, chúng ta chỉ đơn giản in nội dung phản hồi ra console để kiểm tra.
FAQs (Các câu hỏi thường gặp):1. Tại sao nên sử dụng Ajax để POST form?Sử dụng Ajax để POST form giúp cải thiện trải nghiệm người dùng bằng cách giảm thiểu sự gián đoạn khi tải lại trang. Kỹ thuật này cho phép cập nhật dữ liệu mà không mất đi các thay đổi trên trang hiện tại.
2. Tôi có thể sử dụng Ajax để gửi form cho một máy chủ khác không?Đúng, Ajax giúp gửi form cho một máy chủ khác vì nó hoạt động dựa trên giao thức HTTP và không phụ thuộc vào việc tải lại trang. Bạn chỉ cần chỉ định URL cho endpoint đích mà form cần gửi dữ liệu đến.
3. Tôi cần gì để sử dụng Ajax để POST form?Để sử dụng Ajax để POST form, bạn cần có kiến thức cơ bản về HTML, JavaScript và API XMLHttpRequest. Bạn cũng cần hiểu cách xử lý dữ liệu POST từ form trên máy chủ.
4. Tôi có thể sử dụng thư viện JavaScript khác thay vì XMLHttpRequest không?Đúng, có nhiều thư viện JavaScript phổ biến như jQuery, Axios, Fetch API, v.v. có thể giúp chúng ta xử lý Ajax nhanh chóng và dễ dàng hơn. Bạn có thể tìm hiểu và sử dụng thư viện phù hợp với dự án của mình.
Xem thêm tại đây: hanoilaw.vn
AJAX submit form MVC
AJAX (Asynchronous JavaScript and XML) là một kỹ thuật cho phép gửi và nhận dữ liệu từ máy chủ mà không cần phải tải lại trang web. Kỹ thuật này đã đạt được sự phổ biến rộng rãi và có ứng dụng rất cao trong việc xây dựng các ứng dụng web phức tạp và tương tác người dùng nhanh chóng. Trong bài viết này, chúng ta sẽ tìm hiểu về cách áp dụng kỹ thuật AJAX submit form trong mô hình MVC và các phỏng đoán thường gặp về chủ đề này.
Mô hình MVC (Model-View-Controller) là một mô hình thiết kế phần mềm phổ biến được sử dụng trong phát triển ứng dụng web. Nó chia các thành phần của ứng dụng thành ba phần chính: Model (mô hình), View (giao diện) và Controller (bộ điều khiển). Mô hình MVC giúp tách biệt logic dữ liệu, giao diện và điều khiển, giúp dễ dàng quản lý và bảo trì mã nguồn.
AJAX submit form trong MVC có thể được thực hiện bằng cách sử dụng các thư viện và framework JavaScript như jQuery, AngularJS hoặc ReactJS. Cách thức chính xoay quanh việc sử dụng các sự kiện JavaScript để gọi tới các API đã thiết kế trong phần Controller. Sau đó, dữ liệu được gửi và nhận thông qua các yêu cầu AJAX từ View tới máy chủ và ngược lại.
Đầu tiên, chúng ta cần thiết lập một đối tượng AJAX với các thông số cập nhật dữ liệu như URL, phương thức HTTP và dữ liệu cần gửi đi. Sau đó, chúng ta xử lý kết quả nhận được từ máy chủ, có thể là dữ liệu JSON hoặc HTML, và cập nhật giao diện tương ứng.
Trong mô hình MVC, phần Controller đảm nhiệm xử lý các yêu cầu từ View và cung cấp dữ liệu cho View hiển thị. Việc sử dụng AJAX submit form trong MVC thường diễn ra khi người dùng gửi một yêu cầu từ View và phản hồi của máy chủ được hiển thị ngay lập tức, mà không cần phải tải lại trang web. Ví dụ, khi người dùng nhập thông tin vào một form và nhấn nút submit, dữ liệu được gửi lên máy chủ bằng AJAX và máy chủ trả về kết quả mà không cần phải tải lại trang web.
FAQs (Phỏng đoán thường gặp):
1. Tại sao chúng ta nên sử dụng AJAX submit form trong MVC?– AJAX submit form trong MVC giúp cải thiện trải nghiệm người dùng bằng cách cho phép gửi và nhận dữ liệu mà không cần tải lại trang web. Điều này tạo ra một cảm giác linh hoạt và nhanh chóng, mà người dùng thích.
2. Có những thư viện nào hỗ trợ AJAX submit form trong mô hình MVC?– Có nhiều thư viện và framework hỗ trợ AJAX submit form như jQuery, AngularJS, và ReactJS. Chúng cung cấp các phương pháp và chức năng sẵn để thực hiện AJAX request và xử lý phản hồi từ máy chủ.
3. Có những thách thức nào khi sử dụng AJAX submit form trong MVC?– Một thách thức phổ biến khi sử dụng AJAX submit form trong MVC là quản lý thông tin dữ liệu và xử lý lỗi. Đảm bảo rằng dữ liệu nhập vào là hợp lệ và xử lý các lỗi máy chủ hoặc mạng cũng là một yếu tố quan trọng.
4. AJAX submit form có ảnh hưởng đến SEO không?– Do trang web sử dụng AJAX submit form không tải lại, các công cụ tìm kiếm khó khăn trong việc thu thập thông tin và cập nhật thay đổi trên trang. Để giải quyết vấn đề này, có thể sử dụng các kỹ thuật như AJAX crawling hoặc bổ sung nội dung tĩnh để đảm bảo công cụ tìm kiếm hiểu được nội dung của trang.
5. AJAX submit form có hỗ trợ cho các trình duyệt cũ không?– AJAX submit form có thể được sử dụng trong hầu hết các trình duyệt hiện đại như Chrome, Firefox, Safari và Edge. Tuy nhiên, có thể cần xử lý công việc phụ nếu muốn hỗ trợ trình duyệt cũ như Internet Explorer 11.
6. Có những tài liệu nào giúp tìm hiểu sâu về AJAX submit form trong MVC?– Có nhiều tài liệu trực tuyến, blog và sách về AJAX submit form trong MVC dành cho những người muốn tìm hiểu sâu về chủ đề này. Nếu bạn quan tâm, nên tham khảo tài liệu từ các tác giả như Mozilla Developer Network, jQuery Documentation và AngularJS Documentation.
Trên đây là một số kiến thức về AJAX submit form trong MVC. Hi vọng bài viết đã giúp bạn hiểu rõ hơn về cách áp dụng kỹ thuật này và giải đáp một số phỏng đoán thường gặp. Việc sử dụng AJAX submit form trong MVC không chỉ tăng tính tương tác người dùng mà còn cung cấp trải nghiệm người dùng tốt hơn.
Introduction
In this article, we are going to discuss how we can post data to controller in asp.net core using Ajax with form serialize and without form serialize. With form serialize we also going to implement validation in form. We are not going to save or retrieve data from database we just post data to the controller. In this article, we are going to discuss following topics
What is Ajax?
How to use Ajax?
Create Asp.Net Core Project
Post Data without Form Serialize
Add Validation in Form and Post Data with Form Serialize
Add Validation in Form and Post Data with Form Serialize
For showing validation in Asp.Net core we have to add data annotation to properties of our model class. For this section of article we are going to create new model class, action methods and also new view.
Step 1
Create new model class with data annotation attributes. I’m going to make same properties as shown in above section. Here I gave Student1 name to my new class. With following properties. Here I used Required and Range data annotation. You can use as per your requirements.
public class Student1 { [Required(ErrorMessage = "Please enter student id")] [Range(1, int.MaxValue, ErrorMessage = "Please enter valid id greater than 0")] public int StudentId { get; set; } [Required(ErrorMessage = "Please enter student name")] public string StudentName { get; set; } [Required(ErrorMessage = "Please select student gender")] public string Gender { get; set; } [Required(ErrorMessage = "Please select student standard")] public int Standard { get; set; } [Required(ErrorMessage = "Please enter student city")] public string City { get; set; } public bool IsRegular { get; set; } }
Step 2
Create new action method. Here I create a new action method called WithValidation as you can see in below code.
public IActionResult WithValidation() { return View(); }
Step 3
Create new post method which takes new class Student1 as parameter. As you see in the below code, I create a new method named SaveStudentWithSerialize. Return type is same as old method.