0

ファンシーボックスのあるphpページがあります。jqueryでファンシーボックスを表示するphpのページがあります。ファンシーボックスが表示されたら、データベースからデータをロードする必要があります。クリック イベントのコード:

$("a#addActivitat").click(function(){
            var retorn;
            $.getJSON('aplicacio/agendaLoadData.php?action=loadIdAct',function(data){
                retorn = data;
            });
            alert(retorn);  
        });

アラートは未定義です

ファンシーボックスのコード:

<div id="agendaAddAct">
        <form method="post" action="" target="workFrame" id="actionform">
            <p>
                <input type="text" name="idRel" id="idRel"/>
            </p>
            <input type="button" value="Afegir activitat" class="btnsubmit" id="afegirActivitat"/>
        </form>
    </div> 

PHP呼び出しの戻り値がidRel入力にロードされる必要があります。そして、JSON で呼び出されるアジェンダロードデータのコード:

$var = new facanabbdd();
echo json_encode($var->getMaxValueRel());
4

3 に答える 3

0

エラーが見つかりました:

phpページのコード:

$("a#addActivitat").click(function(){
            $.getJSON('aplicacio/agendaLoadData.php?action=loadIdAct',
                       function(data){
                $('#idRel').val(data);
            });     
        });

そしてagendaLoadDataのコード

echo json_decode("43");

エラーは、関数json_encodeを呼び出し、関数json_decodeを呼び出す必要があることでした。

于 2012-04-29T16:05:22.967 に答える
0

$.getJSON正しく使用していません。Ajax リクエストは非同期であることに注意してください (Ajax は、結局のところ、非同期の JavaScript および XML を意味します)。したがって、retorn変数は Ajax 呼び出しから取得された値で満たされません。

代わりにすべきことは、データを受信したときに (つまり、コールバック関数で) DOM を更新することです。

$("a#addActivitat").click(function(){
    $.getJSON('aplicacio/agendaLoadData.php?action=loadIdAct', function(data){
        $('#idRel').val(data.value);
    });
});

返された JSON ドキュメントが次のようなものである場合

{
    "value": 42
}
于 2012-04-29T01:57:10.367 に答える
0

成功ハンドラー内にアラートを配置すると、サーバーからデータが返された場合にデータにアラートが送信されます。次のようにしてみてください。

$("a#addActivitat").click(function(){
    $.getJSON('aplicacio/agendaLoadData.php?action=loadIdAct',function(data){
         $("#idRel").val(data);
         var retorn = $.parseJSON( data );
         alert(retorn);
    });
});
于 2012-04-29T01:57:13.787 に答える