2016-03-22 26 views
1

私はPHPにjquery ajax jsonでフォーム配列を処理しようとしています。データを取得する方法PHPのAjax Jquery serializeArray()から?

私のコードtesJSONarray.php

<script src='jquery.js'></script> 
<script> 
    $(document).ready(function(){ 

     $('.SAVE').click(function(e){ 
     e.preventDefault(); 

     var str = JSON.stringify($("#COBA").serializeArray()); 

     alert(str); 


      $.ajax({ 

       type:"POST", 
       dataType:"json", 
       url:"tesJSONarray2.php", 
       data:str, 
       success: function(data) { 
        $("#data").html(data); 


       }, 

      });  

     }); 

    }); 


</script> 

<!--div id='data'></data--> 

<form id='COBA' method="post"> 
    <input type='text' name='NAME[]' class='NAME' value="septiyo"><br> 
    <input type='text' name='NAME[]' class='NAME' value="naf'an"><br> 
    <input type='submit' value='SAVE' name='SAVE' class='SAVE'> 
</form> 

そして、私のアクションファイルtesJSONarray2.php

$name = $_POST['NAME']; 
foreach ($name as $x) { 
    echo json_encode($x); 
} 

header('Content-type: application/json'); 

が、それは動作しません。どのようにPHPで変数を処理できますか?

は通常、私はにserialize()私は

echo json_encode($variable); 

でPHPの値を知っているが、serializeArrayと()に動作していないを使用している場合。

誰でも私を助けることができますか?

ありがとうございます。

+0

は 'エコーjson_encode($ name)を試してみましたか;'? btw: 'header'は出力の前に置かなければなりません。 – bansi

+0

私はあなたのアドバイスを試みたが、仕事はしていない。何かアドバイス? – Uchsun

答えて

1

あなたがデータを変更することができます。

<script type='text/javascript'> 
    data:{'str':str} 
</script> 

<?php 
    print_r($_POST) // in json 
    print_r(json_decode($_POST['str'],true)) //for array 
?> 
+0

スーパーグローバル$ _POST配列に直接アクセスするべきではありません。 '$ str = filter_input(INPUT_POST、 'str');' – Black

+0

ok thanks ...... – Paramjeet

+0

@Paramjeet私はそれを試してみましたが、今でも私のvariabelを表示していますか? – Uchsun

関連する問題