Ajax:
<script type="text/javascript">
$(document).ready(function dianZan(id,dianZan){
$.ajax({
url :"Home/DianZan",
type:"post", //数据发送方式
async: false,
data:{"id":id,"dianZan":dianZan},
dataType:"json", //接受数据格式
error: function(){
alert("服务器没有返回数据,可能服务器忙,请重试");
},
success: function () {
alert("点赞成功!");
}
});
});
</script>
.cshtml:
<a href="javascript:dianZan(@item.Id,@item.DianZan)">点赞</a>
后台Action:
public ActionResult DianZan(string id, string dianZan)
{
var model = new ViewModels
{
users = new Common.Model.Users(),
bbsInfo = new Common.Model.BbsInfo(),
userBbs = new Common.Model.UserBbs(),
userBbsItem = new Common.Model.UserBbsItem()
};
if (Request.Cookies["name"] == null || Request.Cookies["name"].Value == "")
{
return RedirectToAction("Contact", "Home");
}
string name = Request.Cookies["name"].Value;
DataTable list = new Common.BLL.UsersBLL().GetUserId(name);
int userId = int.Parse(list.Rows[0].ItemArray[0].ToString());
if (userId > 0)
{
new Common.BLL.BbsInfoBLL().DianZan(int.Parse(id), int.Parse(dianZan));
new Common.BLL.UserBbsBLL().AddDianZan(userId, int.Parse(id));
}
return RedirectToAction("Index", "Home");
}
后台获取不到参数,无法进行Action,求解!
你先把参数去掉,调试看一下是不是传参的问题,进后台方法没
是去除后台的Action的参数是吗?
@Anily丶: data:{"id":id,"dianZan":dianZan},这里设为空,public ActionResult DianZan()这个方法去掉参数,看进后台不,如果没进,就是其他的问题
@单恋: 没有进入后台……我直接data:"" 后台页面有参数只是给定了一个跳转,没有执行,
public ActionResult DianZan()
{
return RedirectToAction("Contact", "Home");
}
@Anily丶: 也可能是你返回的内容错误,你返回类型是json,而你方法是ActionResult。
@单恋:我试试直接用post传递下
@Anily丶:
//js function qiandao() { $.ajax({ type: "POST", contentType: "application/json; charset=utf-8", url: "/ComRia/QianDao", dataType: "json", data: null, success: function (txt) { if (txt == -1) {//exist alert("用户信息不存在!"); } else if(txt==1) {//succ aler("签到成功") } }, error: function (XMLHttpRequest, textStatus, errorThrown) { window.location.href = "/Error"; } }); // [HttpPost] public JsonResult QianDao() { UserViewModel user = new UserBFacade().Check(); if (user != null) { //签到成功 return this.Json("1"); } return this.Json("-1"); }
这是我的一个签到方法,你看一下
@单恋: 貌似依然行不通,进入不了后台Action
@Anily丶: 你先在调试看一下进你的ajax没,然后再排除其他问题
@单恋: 问题依然存在,不过还是要谢谢你!给了我另一个新的思路解决点赞的问题!
@Anily丶: 嗯,你可以看一些ajax的资料,看到你上面的后台action,总感觉有问题。嘿嘿,当然我也是小菜一枚。大家共同进步了
@单恋: 嗯……谢谢你!
@Anily丶: 不用谢,能帮助到别人是对自己最大的肯定。