이전 목록 다음
채택완료

jquery ajax 질문

Copy
--------------index.html-----------

var checkArray = [];
 $("input[name=box]:checked").each(function(i){
    checkArray.push($(this).val());
 });

console.log(checkArray);

$.ajax({
                'url': "./deleteAjax.php",
                'type': 'post',
                'data': {"box": checkArray},

...

})

 

-------------deleteAjax.php------------

$box = $_POST['box'];

echo($box);

 

체크된값을 checkArray에 넣고 ajax로 보내서 찍으려고하는데

ajax보내기전에 console.log(checkArray)는 제대로 찍힙니다.

 

근데 ajax 보내고 success로 찍으면 안나오는데

어디가 잘못됐을까요?

 

|

답변 4개 / 댓글 2개

채택된 답변
+20 포인트
$.ajax({
                url: "./deleteAjax.php",
                type: 'post',
                data: {box: checkArray},
...
})

답변에 대한 댓글 2개

전체 코드를 보여주세요

php 단에서는 제이슨 인코드라고 그거 넣어서 띄워주면 될것같아요 예를 들어 아래 처럼 하면될것같아요

echo json_encode(array('result'=>'ok', 'msg'=>'완료'));

 

이렇게 하고 ajax단에서 성공일때  소스를 

if(data.result = 'ok') {

alert(data.msg);

}

이런식으로 하면 완료 메시지가 뜹니다.

 

그리고 php 단에서 포스트값이 넘겨지는 지 확인하고 하셔야할것같아요 

print_r로 확인해서 포스트가 원활하게 넘어 오는지 확인하셔야되요

 

저같은 경우는 array로 값을 여러가지로 넘기려면 1234 이런식으로 넘어오잖아요 이렇게 하지말고 1, 2, 3 이런식으로 콤마를 찍거나 /을 찍어서 ajax단으로 값을 넘겨요 그리고나서 php단에서 explode 함수써서 콤마 제거해서 루프로 돌리면서 쓰면 되거든요 

                $.ajax({
                    type: "POST",
                    url: "<?php echo G5_URL; ?>/deleteAjax.php", // URL 다음에 해당경로
                    cache: false,
                    async: false,
                    data: {box : checkArray},
                    dataType: "json",
                    success: function(data) {
                       .....
                     }
                });

datatype:json 추가하시면 될 듯 한데요

 

 

답변을 작성하려면 로그인이 필요합니다.