jQueryで同期通信をやってみる

リクエスト先処理
連想配列【data】を ‘json’ 形式で出力する。

下記コードでは Jsphon_Encoder(); を使用しているが PHP 5.2.x 以降ならば json_encode(); で可

***.php

$data= array();
$data['text'] = $content;
$data['msg'] = $msg;
$json = new Jsphon_Encoder();
echo $json->encode($data);

リクエスト送信元処理
【async】項目はデフォルト(true)で【非同期】,false【同期】にする。
【url】項目でリクエスト先のスクリプトを指定する。
【data】項目で文字列をパラメータ形式で送信する。※ 送信形式は Object,String可
【dataType】項目は ‘json’ でリクエスト処理後のデータを受信する。

ajax非同期通信が成功後に’json’形式の【data】変数からデータを抽出する。


下記コードではグローバル変数へ抽出データを代入させて後述コードで利用している。

***.js

$.ajax({
async: false,
type: "POST",
data: "text="+content,
dataType: 'json',
timeout: 1000,
error: function(){},
url: "http://***/***.php",
success: function(data,status){
text = data.text;
msg = data.msg;
error = data.error;
}
});

if(!error) alert(text,msg);

【参考サイト】
POSTメソッドでAjax通信を行う(JSONレスポンス版)

タグ:

コメントを残す