반응형
이전에 include된 jsp로 parameter를 전달하려고 했지만 불가능하여 jsp안의 function을 메서드로 묶어서 표현하는 방식으로 개선
ajax로 jsp안의 function을 호출하는 방식을 사용하여 데이터를 불러오게 작성
<!-- main.jsp -->
...
<script>
...
// 초기화 이후 ajax동작
function selectValues(id) {
$.ajax({
method : "POST",
url : "/data?filderId=" + id,
success : function(data) {
var params = "menuId=${menuId}&groupId=${groupId}&filterId="+id;
console.log("initDataLoad params : " + params);
requestAPINew(params, 'A');
console.log(data);
console.log(id);
useDataInAjaxCall(id);
},
});
console.log("send!");
}
...
// 초기화
$(document).ready(
function() {
initDataLoad("A");
...
useDataInAjaxCall(25);
});
...
</script>
...
<div class="chart-map-data" id="chart-map-data" style="display: block;">
<jsp:include page="sample.jsp" flush="true" />
</div>
...
<!-- sample.jsp -->
...
<script>
...
// ajax를 메서드를 이용해 컨트롤
function useDataInAjaxCall(data){
$.ajax({
method: "GET",
url: "/sidoGeoJson?year="+responseYear,
}).done(function (sido) {
$.ajax({
method: "GET",
url: "/sigunguGeoJson?year="+responseYear,
}).done(function (sigungu) {
$.ajax({
method: "GET",
url: "/data?filderId=" + data,
}).done(function (allDatas) {
...
</script>
...
+ ) ajax에서의 url분리
url은 String형식이므로 ajax를 사용하기 전에 parameter값으로 분기점 생성 후 String으로 받아 분리
sampleAjaxCall(sample, fStandard);
...
var responseYear = '<%=request.getAttribute("year")%>';
...
function sampleAjaxCall(data, mdYear){
$.ajax({
method: "GET",
url: "/sampleInitData?year="+responseYear,
}).done(function (value) {
var chk;
if(mdYear != null){
chk = "/sampleInitData?filterId=" + data + "&year=" + mdYear;
}else{
chk = "/sampleInitData?filterId=" + data + "&year=" + responseYear;
}
$.ajax({
method: "GET",
url: chk,
}).done(function (allDatas) {
....
반응형
'Frontend > jQuery & JSTL' 카테고리의 다른 글
[JSTL] 옵션값 선택 (0) | 2024.04.24 |
---|---|
[jQuery] 문자 변환 (0) | 2024.03.18 |
[JSTL] 알림창, 경고창, 확인창 (0) | 2024.03.18 |
[JSTL] Gradle에서 JSTL 설정하기 (0) | 2024.03.13 |
[FrontEnd] 디렉토리들의 경로와 정의, 역할 (0) | 2024.03.08 |