Gọi Web API sử dụng Ajax JQuery
Đăng lúc: 09:41 AM - 08/12/2022 bởi Charles Chung - 1426Trong bài viết này tôi sẽ hướng dẫn các bạn các GET, POST, PUT, DELETE dữ liệu lên Web API sử dụng Ajax JQuery và lưu vào database, trong đó có cả post dữ liệu dạng MultiplePart và cấu hình CORS trên Web API.
1. Cấu hình CORS trên ASP.NET Core Web API 3.1
- Trong tệp Startup.cs tìm phương thức ConfigureServices bổ sung dòng cấu hình sau
services.AddCors(o => {
o.AddPolicy("AllowOrigin", p =>
{
p.AllowAnyOrigin()
.AllowAnyHeader()
.AllowAnyMethod();
});
});
- Nếu cần cấu hình rõ từng thông số thì dùng lệnh bên dưới kết hợp các thông số cho phép
p.WithOrigins("https://hanam88.com")
.WithMethods("GET","POST","DELETE")
.WithHeaders("Authorize");
- Vẫn trong tệp Startup.cs tìm phương thức Configure bổ sung thêm dòng
app.UseCors("AllowOrigin");
- Trong các controller api bổ sung thuộc tính sau [EnableCors("AllowOrigin")] ví dụ cho ProductController
[EnableCors("AllowOrigin")]
public class ProductsController : ControllerBase
2. Lưu ý khi POST data lên Web API
- Khi post dữ liệu FormData lên Web API để web-security của trình duyệt bỏ qua việc xử lý dữ liệu và kiểu nội dung, bạn cần thiết lập thông số processData:false, contentType:false trong lệnh ajax. Ví dụ
$.ajax({
url:domain+"/bkap/san-pham/them-voi-image",
type:'POST',
data:fd,
processData:false,
contentType:false,
success:function(data){
if(typeof(data)=='string')
{
alert(data);
}else{
//in thông tin sản phẩm...
alert("Đã thêm thành công sản phẩm có tên: "+ data.productName);
$('#modalAdd').modal('hide');
window.location.reload();
}
},
error:function(msg)
{
alert(msg);
}
});
3. Video demo
Link tải source code (Google Drive) pass hỏi thầy Charles Chung
thay lời cảm ơn!
Các bài cũ hơn
- Tìm hiểu Bridge Design Pattern với ví dụ sử dụng ngôn ngữ C# (08:57 PM - 06/12/2022)
- Cách GET-POST dữ liệu Multipart lên Web API trong ASP.NET Core (10:22 AM - 02/12/2022)
- Upload ảnh kèm dữ liệu JSON trong ASP.NET Core Web API (09:25 AM - 01/12/2022)
- Tìm hiểu Adapter Design Pattern với ví dụ sử dụng ngôn ngữ C# (05:03 PM - 30/11/2022)
- Truy xuất cơ sở dữ liệu sử dụng Entity Framework Core trong ASP.NET Core Web API (02:40 PM - 29/11/2022)