MVC前台Post/Get异步获得数据时参数的取值问题

Post方法,返回text,后台获得Data

View

        $.ajax({
                    type: "POST",
                    dataType: "text",//返回类型为文本
                    url:"/Order/AjaxGetCoupon?ids="+id,                    data: { ConponCode: code, TotalPrice: totalPrice },
                    success: function (data) {
                        if (data == "False") {
                            ShowFailTip(‘服务器繁忙,请稍候再试!‘);
                            return;
                        }
                        else if (data == "No") {
                            ShowFailTip(‘您输入的优惠券不存在或已过期!‘);
                            return;
                        } else if (data == "Used") {
                            ShowFailTip(‘您输入的优惠券已使用!‘);
                            return;
                        } else if (data == "Limit") {
                            ShowFailTip(‘您输入的优惠券不满足最低消费金额!‘);
                            return;
                        } else {
                            $("#couponPriceId").text("¥" + data.split("|")[0]);
                            $("#payPriceId").text("¥" + data.split("|")[1]);
                        }
                    }
                });

Code

[HttpPost]       public ActionResult AjaxGetCoupon(FormCollection Fm,int ids)
        {//ids为url中的参数或后台获得URL后的参数 Request.QueryString["ids"]
            if (string.IsNullOrWhiteSpace(Fm["ConponCode"]))
            {
                return base.Content("False");
            }
            string couponCode = Fm["ConponCode"];
            decimal num = Globals.SafeDecimal(Fm["TotalPrice"], (decimal) 0M);
            BLL.CouponInfo info = new BLL.CouponInfo();
            Model.CouponInfo couponInfo = info.GetCouponInfo(couponCode, false);
            if (couponInfo != null)
            {
                if (couponInfo.Status == 2)
                {
                    return base.Content("Used");
                }
                if (couponInfo.LimitPrice >= num)
                {
                    return base.Content("Limit");
                }
                ShoppingCartInfo cartInfo = new ShoppingCartHelper(base.currentUser.UserID).GetShoppingCart4Selected();
                switch (info.GetUseStatus(cartInfo, couponInfo))
                {
                    case 0:
                        return base.Content("No");

                    case 1:
                    {
                        string str2 = (num - couponInfo.CouponPrice).ToString("F");
                        return base.Content(couponInfo.CouponPrice.ToString("F") + "|" + str2);
                    }
                    case 2:
                        return base.Content("Used");

                    case 3:
                        return base.Content("Limit");

                    case 4:
                        return base.Content("CategoryLimit");

                    case 5:
                        return base.Content("ProductLimit");

                    case 6:
                        return base.Content("SKULimit");

                    case 7:
                        return base.Content("CategoryNo");

                    case 8:
                        return base.Content("ProductNo");

                    case 9:
                        return base.Content("SKUNo");
                }
            }
            return base.Content("No");
        }

若需要返回json则将 $.ajax 中 dataType: "json"

后台:public JsonResult AjaxGetCoupon(FormCollection Fm,int ids){

  return Json(new { errCode =0,message= "非常抱歉" });

}

页面传参

location.href = " Order/SubmitOrder?sku=" + sku + "&g=" + groupbuyid;

public ActionResult SubmitOrder(string sku, int count = 1, int c = 0, int g = 0, string viewName = "SubmitOrder")
{

ShoppingCartInfo cartInfo = new ShoppingCartInfo();

return base.View(viewName, cartInfo);
}

时间: 2024-11-06 09:29:25

MVC前台Post/Get异步获得数据时参数的取值问题的相关文章

ASP.NET MVC 第三章 异步提交数据

好长时间都没写文章了本来不准备在写文章了,但是我又为什么今天发表文章咧,第一是为了我自己对技术的认识.第二是为了新手不知道怎么去学习MVC写次系列文章. 废话结束吧,接下来我们看看怎么异步实现提交数据到按钮.本章就是为了WebForm用惯了事件驱动.(此处注明下有很多自认为高手的连事件都不懂是什么,不说懂就算了,直接上MVC吧) 我们根据第二章的修改路由代码接着写,此处因为本人PC不在安装VS2010所以就直接用VS2013了,不在说明怎么创建MVC的示例了.这里我使用MVC4,后面会跟大家一起

异步记载数据时page是怎么计算的

最近一直在完善基于Busybox做的ARM Linux的根文件系统,由于busybox是一个精简的指令集组成的简单文件系统,其优点就是极精简,满足了Linux基本的启动需求,由于它几乎没有什么后台服务,对于追求极度裁剪的系统开发者而言是一个非常好的体验,不过,也正是由于其精简,很多我们在开发测试中使用的工具或者库也可能都没有,这对于开发者而言也增加了一定的移植工作量,笔者最近正被各种移植工具软件和库文件深深折磨着,今天主要说一下一个比较实用的工具HTOP的移植过程. 距离 Node.js 这个东

zTree异步生成数据时无法获取到子节点的选中状态

最近在项目中遇到一个问题,需求如下: 根据选中不同的人员(ID)向后台发送ajax请求,通过返回的数据来生成该人员的权限访问树,该树目录最少为3级目录,在生成的时候会自动勾选上次保存过的选中状态,点击保存后会将选中状态发送给后端用于保存.(zTree的api参考网站http://www.ztree.me/v3/api.php) 遇到的bug: 用户必须再次点击已选中的根目录,并重新选中一次才能在保存的时候将其根目录及所有选中的子节点ID号提供给后端,如果用户不做任何操作直接点击保存,则只能获取到

使用angularjs的$http.post异步提交数据时,服务器接收不了的问题

一,在正常情况下,使用表单的post方法提交数据,默认请求头的Content-Type:application/x-www-form-urlencoded类型, 提交数据格式如下: 二,使用angularjs的$http.post提交数据,使用的是Content-Type:application/json类型, 请求头格式如下: 直接代码块: 1 app.controller('payCtrl',function($scope,$http){ 2 //保存邮箱地址 3 $scope.emailE

MVC中利用ViewBag传递Json数据时的前端处理方法

用viewBag传递Json字符串到前端时,json字符串中的“会被转义为& quot,前端处理方法为@Html.Raw(Json.Encode(ViewBag.Data)),再用eval()函数解析得到json对象:var data=eval("(" + @Html.Raw(Json.Encode(ViewBag.Data)) + “)”); 如何传递的是json对象则前端使用用 jsonData=eval( @Html.Raw(ViewBag.jsonData)); 原文地

mvc 前台接收其他页面传过来的参数

以下是前台接收: $.request = function (name) {    var search = location.search.slice(1);    var arr = search.split("&");    for (var i = 0; i < arr.length; i++) {        var ar = arr[i].split("=");        if (ar[0] == name) {           

nginx-lua取后端redis key为数组时的随机取值.

#按毫秒级取值math.randomseed(tostring(os.time()):reverse():sub(1, 7))假设取服务器ip值为两个,13,24action2={13,24}如果数组元素数大于1if (#action2) > 1 then将服务器ip重新赋值为action2的多个元素值中的一个.action2=action2[math.random(#action2)]打印重新赋值后的aciton2(服务器ip)print (action2)end后续可以自己控制action2

操作Oracle数据库,插入数据时显示:ORA-00984列在此处不允许错误

操作Oracle数据库,插入数据时显示:ORA-00984列在此处不允许错误,如下图所示: 出现的原因是由于,在插入字符或字符串型字段时.如果插入的数据是纯数字,则不会有错误:如果出现字符,则会报ORA-00984列在此处不允许异常. 可以创建TestUser表,如下: create table TestUser ( usercode char(5), username varchar2(20) ) 以下例子请注意第一个字段usercode的值 1.正常例子:usercode为纯数字.可以正常插

MVC—实现ajax+mvc异步获取数据

之前写过ajax和一般处理程序的结合实现前后台的数据交换的博客,如今做系统用到了MVC,同一时候也用到了异步获取数据. ajax+一般处理程序与MVC+ajax原理是一样的在"URL"中前者写的一般处理程序的名字.而后者写到Controller中须要调用的方法. Controller中的设计 using System.Collections.Generic; using System.Web.Mvc; namespace mvcAjaxByAjax.Controllers { //考试