zoukankan      html  css  js  c++  java
  • 通过一个抢购的需要,而引发的购物车问题(这个抢购是一个与主站不同的域名)

    这其实是一个跨域的问题,我们要用到的技术是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,看到有这个参数,我们就说它是跨域的请求.

  • 相关阅读:
    PY个树状数组
    PY 个板子计划【雾
    PY个欧拉筛
    【NOI2007】项链工厂 ——老题新做.jpg
    Min-Max 容斥的证明
    51nod 1963 树上Nim
    ●BZOJ 3566 [SHOI2014]概率充电器
    ●BZOJ 3640 JC的小苹果
    ●BZOJ 1444 [Jsoi2009]有趣的游戏
    ●Joyoi Dotp 驱逐猪猡
  • 原文地址:https://www.cnblogs.com/lori/p/2054319.html
Copyright © 2011-2022 走看看