这是ajax代码.:
$(function () {
var pn = $("#proName").text();
var pdesc = $("#proDesc").text();
var pprice = $("#proPrice").text();
var amount = $("#number").val();
$("#addcart").click(function () {
$.ajax({
type: "POST",
url: "/Home/ProList",
data: {
"cart.ProName ": pn,
"cart.ampunt": amount,
"returnUrl": ""
},
success: function (data) {
if (data.success) {
alert("添加成功!");
}
else {
alert(data.message);
}
}
})
})
})
我想做个加入购物车功能,我设想是点击提交按钮后,如果查询到数据库里面有内容了,就把视图id=number的值传进数据库,更新该行中列为数量的信息,并返回true。
如果查询到数据表没有数据就添加进数据库,返回false。。。。我想用ajax试一下就添加失败或就弹一个提示框出来。。但是弹不出来。。怎么办。。我测试过,后台是能返回true和false
但不知道为什么ajax没能够调用.......求大家帮忙下
@using (Html.BeginForm(FormMethod.Post))
{
</tr>
<tr>
<td colspan="2"><input type="submit" value="加入购物车" /></td>
</tr>
</table>
}
名称:@Model.ProName | |
商品介绍:@Html.Label(Model.ProDesc, new { @id = "proDesc" }) | |
单价:@Model.ProPrice总价: | |
数量: |
http://www.cnblogs.com/haogj/archive/2011/11/20/2255515.html
你的控制器怎么写的,参数有没有得到
控制器有修饰httppost么,返回什么
授人以鱼不如授人以渔
出现这种问题的解决方法:
1.测试点击 $("#addcart").click(function () {alert('massage')}); 是否可以有弹框出来
2.如果可以弹出massage证明click有效 ,试图调试post是否提交到后台,/Home/ProList 的构造函数处断点调试,是否可以命中
3.如果可以命中,表示post有效,并且查看传入参数及返回数据是否有效
4.调试js脚本,断点if (data.success) {处,看是否可以命中,如未命中查看返回数据是否符合要求,若命中,则查看返回数据的正确性
5.若1-4步均有效,则一般可弹出alert数据,若还是未弹出,则考虑浏览器是否禁用了弹出框
所涉及可能性太多,我也只能帮你到这儿,具体问题具体解决,祝你早日解决问题,good lucky
ajax写的有问题 至少那个URL指向不明确要加上base项目路径,很好的建议是 由内层模块化注释 直到js执行进来 逐步定位问题,实在不行 网上找个ajax模板,直接替换url、参数、希望能帮你解决问题
你的表单提交了。。要阻止表单提交
$.ajax({
type: "POST",
url: "/Home/ProList",
data: {
"cart.ProName ": pn,
"cart.ampunt": amount,
"returnUrl": ""
},
success: function (data) {
if (data.success) {
alert("添加成功!");
}
else {
alert(data.message);
}
}
})
return false;//////////////////
})