2012-04-10 4 views
0

체크 박스 목록이 있습니다. 항목을 선택한 데이터베이스를 업데이트해야합니다. 항목 목록이 동적으로 표시됩니다.ajax를 통해 php에 배열 보내기

문제는 어떻게하면 아약스를 통해 ID의 목록을 전달할 수 있습니까? 여기

내 아약스 코드입니다 : 내가 함께 표시 한

function update(form,div,PhpFile,type) 
{ 
if (request) 
    { 
     var obj = document.getElementById(divId); 
     request.open("POST",PhpFile); 
     //setting the header 
     request.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); 

     request.onreadystatechange = function() 
     { 
      if (request.readyState == 4 && 
        request.status == 200){ 
       obj.innerHTML =request.responseText; 
      } 
     } 

     if(type=='news') 
      request.send(?????); 

    } 
} 

??? 나는 거기에 무엇을 넣을 지 모른다.

물론 각 확인란을 개별적으로 업데이트 할 수 있지만 매우 나쁜 해결책입니다.

+0

가 왜 jQuery 라이브러리에서 아약스를 사용하지 않는 PHP에서? –

답변

1

PHP 5는 JSON을 디코딩 할 수 있으며 JS에서는 라이브러리를 사용해야합니다. 이것은 대중적인 대답 인 것 같습니다.

Serializing to JSON in jQuery

그리고 JSON http://www.php.net/manual/en/function.json-decode.php

+0

아니면'JSON.stringify (theArrayVar)'를 사용하면 거대한 lib를 포함 할 필요가 없습니다. JSON은 광범위하게 지원됩니다. IE조차도 불평하지 않습니다. –

0

JavaScript로 배열을 직렬화하고 AJAX로 문자열로 전달한 다음 PHP로 직렬화 할 수 있다고 생각합니다. 배열 값을 구분 된 문자열 (쉼표 또는 파이프 구분)로 변환 한 다음 PHP에서 해당 문자열을 분해하십시오. 따라서 전송 된 데이터는 사람이 읽을 수있는 상태로 남겨두고 디버깅에 좋습니다.

+0

기술적으로 JSON으로 인코딩합니다. –

0

어레이를 JSON.stringify()으로 JSON으로 변환하여 보내고, 을 사용하여 JSON 문자열을 PHP의 객체로 다시 변환하십시오.

관련 문제