jQuery/Ajaxで、JSON配列で結果を受け取る。
実行するjavascriptコード
$.ajax({
type: "POST",
url: "example.php",
data: {
'name' : 'taro'
,'age' : '20'
},
dataType: "json",
success: function(msg){
for(var i in msg){
$('#result').append('<p>' + i + ':' + msg[i] + '</p>');
}
}
});
example.phpが返すデータ
{"name": $_REQUEST["name"] ,"age" : $_REQUEST["age"] ,"result":"success"}
結果:
jQuery/Ajaxで、JSONPをつかって別ドメイン(サンプルは同じドメイン)の結果を受け取る。
実行するjavascriptコード
$.ajax({
url: "example2.php",
data: {name:"jiro",age : "20"},
dataType: "jsonp",
jsonp: "callbackfunc",
success: function(msg){
for(var i in msg){
$('#result2').append('<p>' + i + ':' + msg[i] + '</p>');
}
}
});
example2.phpが返すデータ
{$_REQUEST["callbackfunc"]}({"name": "{$_REQUEST["name"]}" ,"age" : "{$_REQUEST["age"]}","callbackfunc" : "{$_REQUEST["callbackfunc"]}" ,"result":"success"})
JSONPではコールバック用の関数名は送信側がクエリに含めることで指定できます。
jQueryはjsonpパラメタに指定クエリ名を含めることにより自動で生成し、success:でコールバック関数が利用できるように勝手にやってくれます。
(jsonp : "callbackfunc"のところ)
結果: