通过一个抢购的需要,而引发的购物车问题(这个抢购是一个与主站不同的域名)

这其实是一个跨域的问题,我们要用到的技术是jsonp,看看吧:P

   1:   $.ajax({
   2:                  jsonp: "jsonpcallback",
   3:                  data: 'productID=30000192'
   4:                  dataType: "jsonp", //注意,这里不是type:"post",这里是jsonp,这是指跨域访问
   5:                  url: "http://www.c2cedu.com/cart/AddUserCart",
   6:                  success: function(result){
   7:                  if (result==true)
   8:                    {
   9:                      window.location="http://www.zzl.com/cart/mycart";
  10:                    }
  11:                  }
  12:              });
 
 而在我们的接收方法中会有一个cart类,所对应一个mycart方法,用来处理购物车逻辑
   1:          /// <summary>
   2:          /// 为跨载请求而设计的方法
   3:          /// </summary>
   4:          public ActionResult AddUserCart(string jsonpcallback, string productID)
   5:          {
   6:              return this.AddUserCart(productID, null, jsonpcallback);
   7:          }
   8:           public ActionResult AddUserCart(string productID, string storeUserID, string jsonresult)
   9:            {
  10:              //公用的购物车逻辑
  11:            }

这时,我们看到了方法中多了一个参数jsonpcallback,这其实是系统为我们自动添加的JSONP随机数,我们用它来接收一个具有跨域请求的POST,即JSONPOST.

事实上系统为我们做了一件事,即http://www.c2cedu.com/cart/AddUserCart?jsonpcallback=jsonp1306123875205,看到有这个参数,我们就说它是跨域的请求.

posted @   张占岭  阅读(465)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示
点击右上角即可分享
微信分享提示