2012-04-10 10 views
0

私は項目のチェックボックスリストを持っています。アイテムが選択されたデータベースを更新する必要があります。項目のリストが動的に表示されます。ajaxを通してphpに配列を送る

問題は、どのようにIDのリストをajaxに渡すことができますか?ここ

は私のAjaxコードです:

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ライブラリからAJAXを使用していませんか? –

答えて

1

PHP 5はJSONをデコードでき、JSではライブラリを使用する必要があります。これは一般的な答えのようです。 PHP で

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に変換して送信し、json_decode()でJSON文字列をPHPのオブジェクトに変換して戻します。

関連する問題