ajax使用中のデータインタラクションの問題概要

2171 ワード

phpとページのインタラクションデータは、テンプレート割り当て変数とページformフォームからデータを提出することによって行うことができ、ajax技術の運用後、ページとphpバックグラウンドの静的方式のデータインタラクションを行うことができる方法が多い.現在の多くのウェブページの効果の基礎でもある.ここでは、一般的なjqueryプラグインによってajax要求を開始する、データインタラクションに関するいくつかの問題をまとめる.
var data=$('#list').attr('id');

$.post("<{$url}>/user_edit/tag/photo",{"action":"list","data":data},function(data){

	$('#list').empty().append(data);

})


この例はjson形式のデータを伝達し、json形式はjsのサブセットであり、key:valueの形式で書けばよい.keyは文字列であり、二重引用符で包むことを推奨し、valueはオブジェクト、配列、文字列、数字、変数などであり、変数であれば引用符を使用しないで、上記の例のdataのようにする.上記の例は2組のデータである.json形式のデータはjqueryのpostメソッドでバックグラウンドphpページに渡され、ページは$POSTは直接値を印刷することができ、配列として体現することができ、バックグラウンドページは直接使用することができる.この例のデータは配列の2つの要素として表示する、1つはaction=>'list'、もう1つはdata=>listidである.php側でデータを処理してページにデータを返す必要がある場合、複数のデータを渡す必要がある場合、下付きで区別された配列はjsonフォーマットで返す必要があり、配列をjsonフォーマットに変換する必要があり、phpはjson_を提供するencode関数はこの仕事をします.phpの配列が$ret=array('talk'=>'処理成功','num'=>5)の場合.json形式に変換すると:{'talk':'処理成功','num':5},ajaxがデータを返すと思うと、以下のように書くことができ、json形式に変換してもデータを返すことができる.print_r(json_encode(ret));ここでprint_を使ったほうがいいです.r var_を使用しないdumpはajaxにデータを返しますvar_dumpが返したデータにはhtml形式のラベルがたくさん入っています.ページはphpバックグラウンドから渡されたjson形式のデータを受け取る後、jsのeval関数またはjqueryの$を通過する必要がある.parseJSON関数は、json形式のデータを利用可能なデータに変換する、インデックス配列をjsの配列に変換し、関連配列をjs利用可能なオブジェクトに変換する.次の例は、伝達する前の例のデータがどのようにオブジェクトフォーマットとして使用されるかを示す.
$.post("<{$url}>/user_edit/tag/photo",{"action":"list","data":data},function(data){

    var ret=$.parseJSON(data);

    alert(ret.talk)//             

    if(ret.num>0){  //      num 

        $('#mem').text(ret.num);

    }

});