php知识积累

ajax请求跨域问题

2017-08-21  本文已影响3人  hey_沙子

我目前用了 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方法生成一个对回调方法的引用的名字,换掉?。上面请求会变成

http://h.beta.yiwang.com/index.php?r=cart/addcart&callback=jQuery191004353530711368747_1503295762461&skuId=406656&_=1503295762462

上一篇下一篇

猜你喜欢

热点阅读