0

AJAX を介してデータを投稿する際に問題が発生しています。POST を保存する必要があるテーブルを決定する小さな保存スクリプトを作成しました (テーブルごとに異なるフォームを使用しています)。

$(function() 
{
    $( "#tabs" ).tabs().find( ".ui-tabs-nav" ).sortable({ axis: "x" });
});

function save(target)
{
    switch(target)
    {
        case "praktijk":
            $.ajax({                                                                                                           url: 'webscripts/admin/opslaan.php?type=praktijk',
                type: 'POST',
                data: $("#tabs-2").find('form').serialize(),
                success: function(){
                    alert("gegevens opgeslagen!");
                    $('#popup').dialog('close');
                }
            });
            break;
        case "persoonlijk":
            $.ajax({                                                                                   
                url: 'webscripts/admin/opslaan.php?type=persoonlijk',
                type: 'POST',
                data: $("#tabs-1").find('form').serialize(),
                success: function(){
                    alert("gegevens opgeslagen!");
                    $('#popup').dialog('close');
            }
        });
        break;
    case "vragen":
        $.ajax({
            url: 'webscripts/admin/opslaan.php?type=vragen',
            type: 'POST',
            data: $('#tabs-3').find('form').serialize(),
            success: function(){
                    alert("gegevens opgeslagen!");
                    $('#popup').dialog('close');
            }
        });
        break;
}

}

ご覧のとおり、次に、どのテーブルに保存する必要があるかを示す GET 変数を使用して、PHP スクリプト用にそれを決定します。しかし、これは機能しません。この時点で、スクリプトがクラッシュしているようです。どこでクラッシュするのか正確にはわかりません.Firebug端末には明らかなエラーは表示されません。

なぜそれが機能しないのか誰かが知っていますか?

4

2 に答える 2

1

data:いくつかのデータが含まれている必要があります。テキストまたは値である必要がありますが、コードで正しく設定されていないようです。そちらを利用することをお勧めしますvar

于 2012-08-22T11:15:40.327 に答える
1

まず、テーブルごとに異なるフォームを使用している場合は、正しいテーブル名 ('persoonlijk'、'vragen' など) をフォーム自体と一緒に送信してみませんか?

例:

<form ...>
<input type="hidden" name="target" value="persoonlijk" />
...
</form>

そしてphpで:

<?php
if($_POST['target'] == 'persoonlijk') {
    // save in table 'persoonlijk'
} else {
   // save it somewhere else
}
?>

さらに、php var を読み取っても JavaScript が壊れることはありません。これは、単にサーバー上で作業していて、javascript がブラウザーで動作するためです。を使用して get en post 変数を出力しprint_r($_GET);、「壊れているように見える」が何を意味するか (何が起こるか、何が表示されるか (エラー メッセージなど)) を説明してください。

于 2012-08-22T11:10:59.877 に答える