我目前用了 callback
var url=domain+'index.php?r=cart/addcart&callback=?';
var skuId=_dl.attr('skuId');
$.getJSON(url, {skuId: skuId}, function (msg) {
console.log(msg);
});
服务器端php:
<?php
public function actionAddcart(){
$callback = Yii::$app->request->get('callback');
$json='{"retCod":"0","retMsg":"操作成功"}';
echo $a=$callback. "(" . $json . ");";
}
?>
jQuery1706543070425920333_1324445763158({"Name":"loogn","Age":23})
返回的字符串就是一个调用一个叫“jQuery1706543070425920333_1324445763158” 的函数,参数是{"Name":"loogn","Age":23}。
其实这个很长的函数名是请求路径中callback=?的作用,我想应该是这样的:$.getJSON方法生成一个对回调方法的引用的名字,换掉?。上面请求会变成