테스트 사이트 - 개발 중인 베타 버전입니다

jquery ajax 질문 채택완료

rlawhd 7년 전 조회 2,796

</p>

<p>--------------index.html-----------</p>

<p>var checkArray = [];

 $("input[name=box]:checked").each(function(i){

    checkArray.push($(this).val());

 });</p>

<p>console.log(checkArray);</p>

<p>$.ajax({

                'url': "./deleteAjax.php",

                'type': 'post',

                'data': {"box": checkArray},</p>

<p>...</p>

<p>})</p>

<p> </p>

<p>-------------deleteAjax.php------------</p>

<p>$box = $_POST['box'];</p>

<p>echo($box);</p>

<p>

 

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

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

 

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

어디가 잘못됐을까요?

 

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

답변 4개

채택된 답변
+20 포인트
유찬아빠
$.ajax({
                url: "./deleteAjax.php",
                type: 'post',
                data: {box: checkArray},
...
})
로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

r
rlawhd
7년 전
"" 빼도 안돼요
유찬아빠
7년 전
전체 코드를 보여주세요

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

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: "/deleteAjax.php", // URL 다음에 해당경로                     cache: false,                     async: false,                     data: {box : checkArray},                     dataType: "json",                     success: function(data) {                        .....                      }                 });

로그인 후 평가할 수 있습니다

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

7년 전

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

 

 

로그인 후 평가할 수 있습니다

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

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

로그인