通过一个抢购的需要,而引发的购物车问题(这个抢购是一个与主站不同的域名)
这其实是一个跨域的问题,我们要用到的技术是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,看到有这个参数,我们就说它是跨域的请求.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示