오랜만에 찾아 뵙습니다.
현재 회사에서는 Ajax 파리미터를 단일건으로만 보내고 있었습니다.
Object 형식으로 DataTable 형태로 파라미터를 던져 중요한 데이터만 가지고 쿼리를 조지는 형태로만 사용중이였는데
MASTER / DETAIL 형태로 데이터를 가져가야만 하는 로직이 생겨서 아래와 같이 정리합니다.
1. JAVASCRIPT (Json 형태 만들기)
var array_mst = new Array();
var array_dtl = new Array();
var final_vJsonData = new Object();
var vJsonData_MST = new Object;
vJsonData_MST.MST_A = "";
vJsonData_MST.MST_B = "";
vJsonData_MST.MST_C = "";
vJsonData_MST.MST_D = "";
array_mst.push(vJsonData_MST);
$.each($("#PutAway_Result_Area tr"), function (i) {
var vJsonData_DTL = new Object;
vJsonData_DTL.DTL_A = "";
vJsonData_DTL.DTL_B = "";
vJsonData_DTL.DTL_C = "";
vJsonData_DTL.DTL_D = "";
array_dtl.push(vJsonData_DTL);
});
final_vJsonData.MST = array_mst;
final_vJsonData.DTL = array_dtl;
2. AJAX
$.ajax({
type: "POST",
url: "",
async: true,
dataType: "json",
data: { "vJsonData": _fnMakeJson(final_vJsonData) },
success: function (result) {
alert();
}, error: function (xhr, status, error) {
console.log(error);
}
});
//C#의 JsonConvert.DeserializeObject<DataSet> 쓰기위해서는 양쪽의 대괄호를 빼야됨
function _fnMakeJson(data) {
if (data != undefined) {
var str = JSON.stringify(data);
if (str.indexOf("[") == -1) {
str = "[" + str + "]";
}
return str;
}
}
3. C#
DataSet ds = JsonConvert.DeserializeObject<DataSet>(JSON파라미터);
이와같이 Dataset으로 데이터를 가져와서 조지면 되는것을 2시간이나 허비하면서 삽질 하여 적어둡니다.
다음엔 이런 실수 안하길..
'IT > JS + Jquery' 카테고리의 다른 글
[JavaScript] 현재일 기준 이전 달 첫일 , 다음달 말일 구하기 (0) | 2022.09.29 |
---|---|
[JavaScript] InnerHTML으로 그려진 HTML Height 가져오기 (0) | 2022.09.19 |
[JavaScript] JavaScript 파일 여부 확인 (0) | 2021.11.04 |
[JavaScript] 년,월 이전 다음 이벤트 함수 (0) | 2021.10.19 |
[JavaScript] Google maps Marker Click And Get ID (0) | 2021.10.19 |