내 사이트의 관리 영역에는 기본적으로 AJAX 게시를 사용하는 CRUD 작업이 많은 코드가 있습니다.리팩토링 자바 스크립트
당신이 일반적인 함수 나 클래스 등이 여기에에 하나의 기능이 유형을 리팩토링에 어떤 조언이 있다면이 많은 단지 다른 아약스와 다른 기능에 중복 불구하고 나는 몇 가지 예제 코드가 궁금
매개 변수 :이 코드의 모든 이후
function BindAddMenuHeaderOption() {
$("#AddMenuHeaderOption").click(function (e) {
e.preventDefault();
var headerOptionId = jQuery.trim($("#HeaderOptions").val());
var menuHeaderId = jQuery.trim($("#MenuHeaderId").val());
$.ajax(
{
type: "POST",
url: "/Menu/AddMenuHeaderOption",
data: "menuHeaderId=" + menuHeaderId + "&headerOptionId=" + headerOptionId,
dataType: "html",
success: function (result) {
var domElement = $(result);
$("#ModalContent").empty();
$("#ModalContent").append(domElement);
BindAllBehaviours();
}
});
});
}
function BindAddMenuItem() {
$(".AddMenuItem").click(function (e) {
e.preventDefault();
//get header id from link by removing addmenuitem from this.id
var currentId = $(this).attr("id").replace("AddMenuItem", "");
//get itemnumber, itemname, itemdetails from textboxes with same header id
var restaurantId = jQuery.trim($("#RestaurantId").val());
var itemNumber = jQuery.trim($("#ItemNumber" + currentId).val());
var itemName = jQuery.trim($("#ItemName" + currentId).val());
var itemDetails = jQuery.trim($("#ItemDetails" + currentId).val());
$.ajax(
{
type: "POST",
url: "/Menu/AddMenuItem",
data: "reastaurantId=" + restaurantId + "&menuHeaderId=" + currentId + "&itemNumber=" + itemNumber + "&itemName=" + itemName + "&itemDetails=" + itemDetails,
dataType: "html",
success: function (result) {
var domElement = $(result);
$("#MenuContainer").replaceWith(domElement);
var newNum = parseInt(itemNumber) + 1;
$("#ItemNumber" + currentId).val(newNum);
BindAllBehaviours();
}
});
});
}
function BindUpdateMenuItem() {
$(".UpdateMenuItem").click(function (e) {
e.preventDefault();
var restaurantId = jQuery.trim($("#RestaurantId").val());
var itemNumber = jQuery.trim($("#UpdateItemNumber").val());
var itemName = jQuery.trim($("#UpdateItemName").val());
var itemDetails = jQuery.trim($("#UpdateItemDetails").val());
var vars = GetHtmlParameters($(this));
$.ajax(
{
type: "POST",
url: "/Menu/UpdateMenuItem",
data: "reastaurantId=" + restaurantId + "&menuItemId=" + vars["menuItemId"] + "&itemNumber=" + itemNumber + "&itemName=" + itemName + "&itemDetails=" + itemDetails,
dataType: "html",
success: function (result) {
var domElement = $(result);
$("#MenuContainer").replaceWith(domElement);
BindAllBehaviours();
}
});
});
}
감사합니다. 그러나 대부분의 함수는 실제로 양식 요소를 게시하지 않으며, id 매개 변수를 전달하는 URL 매개 변수를 가져 오는 것과 같습니다. – ddd