ALIEN
417
2020-12-10 18:37:54
1
108

ajax에서 returndata 2개 받을 수 있을까요..?


ajax가 실행되면 연결된 router에서 query문 실행해서 결과를 담아서 ajax success로 보내잖아요.

이때, 결과 데이터를 여러개 보낼 수 있나요?


예를 들어 :

$.ajax({
    type: 'POST',
    url: '/api/callData',
    data: {pPage: nowPage, pPageCount: dataPerPage},
    dataType: "json",
    success: function(response) {
        console.log(JSON.stringify(response.data));
    }
});
router.post('/callData', function(req, res, next) {
    try {
        mssql.connect(config, function (err) {
            var request = new mssql.Request();
            var queryString = "EXEC p_BMTR " + req.body.pPage + ", " + req.body.pPageCount;

            request.query(queryString, function (err, result) {
                var returnData = GetTree(result.recordset);
                console.log(JSON.stringify(returnData));
                res.json({data : returnData} );
            });
        });
    } catch (err) {
        alert(err);
}
});

또 다른 queryString과 request.query(){}를 사용하여 2개의 data: returnData를 보낼 수 있을까요?

ajax에서 데이터를 받을 때 response.data로 받기때문에 안될 것 같긴한데 방법이 있나요?

0
  • 답변 1

  • 초보자1212
    2k
    2020-12-11 09:48:13

    2개를 보낸다는게 객체에 값을 여러개를 담아서 한 번에 보낸다는 말씀이신거라면 가능합니다

    res.json({

      data: { a: 1, b: 2, c: 3 }

    })

    이렇게 여러 값을 모두 객체에 담아 보낼 순 있습니다

    그런데 그게 아니고 따로따로 2번 보낼 수 없냐는건 그렇게 못합니다. 자바스크립트의 모든 함수는 1개의 리턴만 갖습니다

  • 로그인을 하시면 답변을 등록할 수 있습니다.