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,看到有这个参数,我们就说它是跨域的请求.

  • 相关阅读:
    面试(5)
    面试(五)
    面试(4)
    面试(四)
    面试(三)
    面试(2,3)
    利用session控制 长时间未操作自动退出登录
    一次性清除所有session
    动态引进js文件
    Vue--findIndex方法的使用原理
  • 原文地址:https://www.cnblogs.com/lori/p/2054319.html
Copyright © 2011-2022 走看看