javascript 的$.post()传值问题?

沐竹 2011-11-25 09:11:48

控制器中:
public ActionResult buy()
{

string cartID = Request.Cookies["name"].Value;
var userCart = me.Carts.Where(i => i.CartId == cartID).ToList();
decimal sum = 0;
decimal sums = 0;
foreach (var i in userCart)
{
sum = i.Albums.Price * i.Count;
sums = sums + sum;
}
if (Request.QueryString["ShipFee"] != null)
{
int shipFee=int.Parse(Request.QueryString["ShipFee"]);
var returnJson = new {
JsonVlaue=sums + shipFee

};
return Json(returnJson); }
else
{

ViewBag.sum = sums;
}
string id = string.Empty;
if (Request.Cookies["name"] != null)
{
id = Request.Cookies["name"].Value;
}
var re = me.Users.SingleOrDefault(i => i.cartsID == id);
if (re == null)
{
return RedirectToAction("login", "Store");
//跳到登陆
}
//购买
return View();
}










视图中:

<script type="text/javascript">
$(function () {

$("#ShipFee").blur(function () {
var ShipFee = $(this).val();
alert(ShipFee);
$.get("/Store/buy", { "ShipFee": ShipFee }, function (data) {
alert(data.JsonVlaue);
$("#sumPrice").html("总价:" + data.JsonVlaue);

}, "json");
});
</script>
我设断点试了一下走了蓝色的return了。
问什么它不走红色的部分啊?
得不到值JsonVlaue
...全文
356 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
沐竹 2011-11-25
  • 打赏
  • 举报
回复
是get的事,,控制器中和视图中都换用post就可以,,但是为什么get可以呢????
沐竹 2011-11-25
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 starye_837 的回复:]
JQuery本身可以解析JSON。建议楼主先Alert(data)看看有值否,如果有下面应该就知道如何去写了
[/Quote]


alert(data);我也试了,它不弹啊,它就是不走function啊
十月流氓 2011-11-25
  • 打赏
  • 举报
回复
JQuery本身可以解析JSON。建议楼主先Alert(data)看看有值否,如果有下面应该就知道如何去写了
沐竹 2011-11-25
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 silentgravity 的回复:]
$.get(url,..,function(data{})
你确定你的url是你要处理的页面?
[/Quote]


确定是要处理的页面。
值都传过去了啊,它不执行function(data{},所以返回的时候接收不到
大雷神 2011-11-25
  • 打赏
  • 举报
回复
$.get("@Url.Action("Action", "ControllerNaem")" //url 这么给
Silentgravity 2011-11-25
  • 打赏
  • 举报
回复
如果url错了的话 那个异步调用的function 根本就不会有数据
Silentgravity 2011-11-25
  • 打赏
  • 举报
回复
$.get(url,..,function(data{})
你确定你的url是你要处理的页面?
沐竹 2011-11-25
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 zy64891635 的回复:]
data.JsonVlaue 是json类型的,你要读取下转换成字符串吧
[/Quote]


if (Request.QueryString["ShipFee"] != null)
{
int shipFee=int.Parse(Request.QueryString["ShipFee"]);
string sumsValue = (shipFee + sums).ToString();
var returnJson = new {
JsonVlaue=sumsValue

};
return Json(returnJson);
}



还是不对啊!
zy64891635 2011-11-25
  • 打赏
  • 举报
回复
data.JsonVlaue 是json类型的,你要读取下转换成字符串吧

62,025

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧