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 == )
{
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异步获得数据时参数的取值问题的更多相关文章
- asp.net mvc视图中使用entitySet类型数据时提示出错
asp.net mvc5视图中使用entitySet类型数据时提示以下错误 检查了一下引用,发现已经引用了System.Data.Linq了,可是还是一直提示出错, 后来发现还需要在Views文件夹下 ...
- Vuex异步请求数据通过computed计算属性值
问题描述: 使用Vuex管理数据时,在组件内使用$emit分发事件后,获取回来的数据要自动更新到该组件内,需要使用computed来计算更新. 一开始尝试使用赋值给data的方法,后来发现重新发起aj ...
- Python读取Excel数据并根据列名取值
一直想将自己接触到的东西梳理一遍,可就是迈不出第一步,希望从这篇总结开始不要再做行动的矮人了. 最近测试过程中需要用到python读取excel用例数据,于是去了解和学习了下xlrd库,这里只记录使用 ...
- Java开发学习(十八)----AOP通知获取数据(参数、返回值、异常)
前面的博客我们写AOP仅仅是在原始方法前后追加一些操作,接下来我们要说说AOP中数据相关的内容,我们将从获取参数.获取返回值和获取异常三个方面来研究切入点的相关信息. 前面我们介绍通知类型的时候总共讲 ...
- Python中定义函数时参数有默认值的小陷阱
在定义函数的时候,如果函数的参数有默认值,有两种类型的参数,一种是整数,字符串这种不可变类型,另一种是列表这种可变类型,对于第一种情况没有什么特殊的地方,但是对于可变类型,有一个微妙的小陷阱. 可变类 ...
- moviepy音视频剪辑:使用rotate函数实现视频变换处理以及参数expand取值为True时的花屏问题解决方案
☞ ░ 前往老猿Python博文目录 ░ 一.rotate函数功能介绍 moviepy的rotate函数用于将剪辑逆时针旋转指定的角度或弧度. 调用语法:rotate(clip, angle, uni ...
- 异步记载数据时page是怎么计算的
最近一直在完善基于Busybox做的ARM Linux的根文件系统,由于busybox是一个精简的指令集组成的简单文件系统,其优点就是极精简,满足了Linux基本的启动需求,由于它几乎没有什么后台服务 ...
- zTree异步生成数据时无法获取到子节点的选中状态
最近在项目中遇到一个问题,需求如下: 根据选中不同的人员(ID)向后台发送ajax请求,通过返回的数据来生成该人员的权限访问树,该树目录最少为3级目录,在生成的时候会自动勾选上次保存过的选中状态,点击 ...
- 使用angularjs的$http.post异步提交数据时,服务器接收不了的问题
一,在正常情况下,使用表单的post方法提交数据,默认请求头的Content-Type:application/x-www-form-urlencoded类型, 提交数据格式如下: 二,使用angul ...
随机推荐
- TCP三次握手四次挥手
看到一篇总结很好的TCP三次握手,学习一下,原文链接. 建立TCP需要三次握手才能建立,而断开连接则需要四次握手.整个过程如下图所示: 先来看看如何建立连接的. 首先Client端发送连接请求报文,S ...
- 【开源】MQTT推送服务器——zer0MqttServer(Java编写)
目录 说明 功能 如何使用 参考帮助 说明 重要的放前面:V1.0版本是一个非常基础的版本,除了完整的MQTT协议实现外,其他功能什么都没做. MQTT 协议是 IBM 开发的即时通讯协议,相对于 I ...
- 【实战Java高并发程序设计6】挑战无锁算法:无锁的Vector实现
[实战Java高并发程序设计 1]Java中的指针:Unsafe类 [实战Java高并发程序设计 2]无锁的对象引用:AtomicReference [实战Java高并发程序设计 3]带有时间戳的对象 ...
- mongodb搭建和基本语法
下载安装包 https://fastdl.mongodb.org/win32/mongodb-win32-x86_64-2008plus-ssl-3.0.0-signed.msi?_ga=1.2206 ...
- PostgreSQL配置优化
硬件和系统配置 操作系统 Ubuntu13.04 系统位数 64 CPU Intel(R) Core(TM)2 Duo CPU 内存 4G 硬盘 Seagate ST2000DM001-1CH164 ...
- JS原型继承和类式继承
前言 一个多月前,卤煮读了一篇翻译过来的外国人写的技术博客.此君在博客中将js中的类(构造)继承和原型继承做了一些比较,并且得出了结论:建议诸位在开发是用原型继承.文中提到了各种原型继承的优点,详细的 ...
- C++11 并发指南七(C++11 内存模型一:介绍)
第六章主要介绍了 C++11 中的原子类型及其相关的API,原子类型的大多数 API 都需要程序员提供一个 std::memory_order(可译为内存序,访存顺序) 的枚举类型值作为参数,比如:a ...
- 跟vczh看实例学编译原理——一:Tinymoe的设计哲学
自从<序>胡扯了快一个月之后,终于迎来了正片.之所以系列文章叫<看实例学编译原理>,是因为整个系列会通过带大家一步一步实现Tinymoe的过程,来介绍编译原理的一些知识点. 但 ...
- Java为何用xml做配置文件?
在Java世界里xml配置文件几乎是首选,xml有什么好的特性呢? xml能存储小量数据,仅仅是存储数据. xml可以跨平台,主流各种平台都对xml有支持, 真正的跨平台, xml读取速度快. xml ...
- python数据类型详解
目录1.字符串2.布尔类型3.整数4.浮点数5.数字6.列表7.元组8.字典9.日期 1.字符串1.1.如何在Python中使用字符串a.使用单引号(')用单引号括起来表示字符串,例如:str='th ...