0

アレイを介してデータを送信したいこの送信機コード:

<script type="text/javascript">
    $(function() {
        $(".cat_button").click(function() {
                var element = $(this);
                var test = $("#cou").val();
                var test2 = $("#category2").val();
                var data = [
                    {data:test},
                    {data:test2}
                ];    

                if(test=='' || test2=='.....')
                {
                    alert("fill data");
                }
                else
                {
                    $("#flash").show();
                    $("#flash").fadeIn(400).html('<img src="http://tiggin.com/ajax-loader.gif" align="absmiddle">&nbsp;<span class="loading">Loading...</span>');


                    $.ajax({
                        type: "POST",
                        url: "insert2.php",
                        data: {data: data},
                        cache: false,
                        success: function(response){
                            console.log(response);
                        }
                    });
                }

                return false;
        });
    });
</script>

このコード受信:

print_r($_POST['data']); // dumps an array

$course = $_POST['data'][0]['data'];
$category = $_POST['data'][1]['data'];
$insert_new_cou = mysql_query("insert into course (name,cat_id) values ('$course','$category')") or die($insert_new_cou."<br/><br/>".mysql_error());

しかし、次のエラーを表示してください。

文字列オフセットを配列として使用できません

Jtgsonを使った解決策だと思いますが、使い方がわかりません

4

1 に答える 1

0

これは、オブジェクトの配列を JSON でエンコードすることで実行できます。$.ajax通話中:

...
url: "insert2.php",
data: {data: JSON.stringify(data)},
...

PHP 側json_decode()では、JSON 文字列からオブジェクトの配列を取得するために使用します。

$data = json_decode($_POST['data']);

$course = $data[0]->data;
$category = $data[1]->data;
于 2013-02-05T14:53:27.533 に答える