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 == )
{
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 :
return base.Content("No"); case :
{
string str2 = (num - couponInfo.CouponPrice).ToString("F");
return base.Content(couponInfo.CouponPrice.ToString("F") + "|" + str2);
}
case :
return base.Content("Used"); case :
return base.Content("Limit"); case :
return base.Content("CategoryLimit"); case :
return base.Content("ProductLimit"); case :
return base.Content("SKULimit"); case :
return base.Content("CategoryNo"); case :
return base.Content("ProductNo"); case :
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);
}

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

  1. asp.net mvc视图中使用entitySet类型数据时提示出错

    asp.net mvc5视图中使用entitySet类型数据时提示以下错误 检查了一下引用,发现已经引用了System.Data.Linq了,可是还是一直提示出错, 后来发现还需要在Views文件夹下 ...

  2. Vuex异步请求数据通过computed计算属性值

    问题描述: 使用Vuex管理数据时,在组件内使用$emit分发事件后,获取回来的数据要自动更新到该组件内,需要使用computed来计算更新. 一开始尝试使用赋值给data的方法,后来发现重新发起aj ...

  3. Python读取Excel数据并根据列名取值

    一直想将自己接触到的东西梳理一遍,可就是迈不出第一步,希望从这篇总结开始不要再做行动的矮人了. 最近测试过程中需要用到python读取excel用例数据,于是去了解和学习了下xlrd库,这里只记录使用 ...

  4. Java开发学习(十八)----AOP通知获取数据(参数、返回值、异常)

    前面的博客我们写AOP仅仅是在原始方法前后追加一些操作,接下来我们要说说AOP中数据相关的内容,我们将从获取参数.获取返回值和获取异常三个方面来研究切入点的相关信息. 前面我们介绍通知类型的时候总共讲 ...

  5. Python中定义函数时参数有默认值的小陷阱

    在定义函数的时候,如果函数的参数有默认值,有两种类型的参数,一种是整数,字符串这种不可变类型,另一种是列表这种可变类型,对于第一种情况没有什么特殊的地方,但是对于可变类型,有一个微妙的小陷阱. 可变类 ...

  6. moviepy音视频剪辑:使用rotate函数实现视频变换处理以及参数expand取值为True时的花屏问题解决方案

    ☞ ░ 前往老猿Python博文目录 ░ 一.rotate函数功能介绍 moviepy的rotate函数用于将剪辑逆时针旋转指定的角度或弧度. 调用语法:rotate(clip, angle, uni ...

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

    最近一直在完善基于Busybox做的ARM Linux的根文件系统,由于busybox是一个精简的指令集组成的简单文件系统,其优点就是极精简,满足了Linux基本的启动需求,由于它几乎没有什么后台服务 ...

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

    最近在项目中遇到一个问题,需求如下: 根据选中不同的人员(ID)向后台发送ajax请求,通过返回的数据来生成该人员的权限访问树,该树目录最少为3级目录,在生成的时候会自动勾选上次保存过的选中状态,点击 ...

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

    一,在正常情况下,使用表单的post方法提交数据,默认请求头的Content-Type:application/x-www-form-urlencoded类型, 提交数据格式如下: 二,使用angul ...

随机推荐

  1. TCP三次握手四次挥手

    看到一篇总结很好的TCP三次握手,学习一下,原文链接. 建立TCP需要三次握手才能建立,而断开连接则需要四次握手.整个过程如下图所示: 先来看看如何建立连接的. 首先Client端发送连接请求报文,S ...

  2. 【开源】MQTT推送服务器——zer0MqttServer(Java编写)

    目录 说明 功能 如何使用 参考帮助 说明 重要的放前面:V1.0版本是一个非常基础的版本,除了完整的MQTT协议实现外,其他功能什么都没做. MQTT 协议是 IBM 开发的即时通讯协议,相对于 I ...

  3. 【实战Java高并发程序设计6】挑战无锁算法:无锁的Vector实现

    [实战Java高并发程序设计 1]Java中的指针:Unsafe类 [实战Java高并发程序设计 2]无锁的对象引用:AtomicReference [实战Java高并发程序设计 3]带有时间戳的对象 ...

  4. mongodb搭建和基本语法

    下载安装包 https://fastdl.mongodb.org/win32/mongodb-win32-x86_64-2008plus-ssl-3.0.0-signed.msi?_ga=1.2206 ...

  5. PostgreSQL配置优化

    硬件和系统配置 操作系统 Ubuntu13.04 系统位数 64 CPU Intel(R) Core(TM)2 Duo CPU 内存 4G 硬盘 Seagate ST2000DM001-1CH164 ...

  6. JS原型继承和类式继承

    前言 一个多月前,卤煮读了一篇翻译过来的外国人写的技术博客.此君在博客中将js中的类(构造)继承和原型继承做了一些比较,并且得出了结论:建议诸位在开发是用原型继承.文中提到了各种原型继承的优点,详细的 ...

  7. C++11 并发指南七(C++11 内存模型一:介绍)

    第六章主要介绍了 C++11 中的原子类型及其相关的API,原子类型的大多数 API 都需要程序员提供一个 std::memory_order(可译为内存序,访存顺序) 的枚举类型值作为参数,比如:a ...

  8. 跟vczh看实例学编译原理——一:Tinymoe的设计哲学

    自从<序>胡扯了快一个月之后,终于迎来了正片.之所以系列文章叫<看实例学编译原理>,是因为整个系列会通过带大家一步一步实现Tinymoe的过程,来介绍编译原理的一些知识点. 但 ...

  9. Java为何用xml做配置文件?

    在Java世界里xml配置文件几乎是首选,xml有什么好的特性呢? xml能存储小量数据,仅仅是存储数据. xml可以跨平台,主流各种平台都对xml有支持, 真正的跨平台, xml读取速度快. xml ...

  10. python数据类型详解

    目录1.字符串2.布尔类型3.整数4.浮点数5.数字6.列表7.元组8.字典9.日期 1.字符串1.1.如何在Python中使用字符串a.使用单引号(')用单引号括起来表示字符串,例如:str='th ...