ajax调用没有达到MVC Action Result

时间:2015-07-30 20:58:30

标签: jquery ajax asp.net-mvc asp.net-ajax

我有一个需要点击我的MVC操作结果的ajax调用。 我正在获得成功的方法。它显示了我想要的ID。当我调试我的断点永远不会被击中时,方法逻辑也不会被触发(在这种情况下重定向到Google)。

基本上,我有一个歌曲列表,当点击播放图标时,我想通过ajax将ID传递给我的控制器,这样我就可以计算并将播放次数保存到我的数据库中。

这是我的剧本:

$(document).ready(function() {
    $('.playbtn').click(function () {
        var clickedSongId = $(this).find('i').data('songid');
        var fightsong = { Id: clickedSongId };
        $.ajax({
            type: "POST",
            url: '@Url.Action("UpdatePlayCount", "Team")',
            contentType: "application/json; charset=utf-8",
            //data: fightsong,
            data: fightsong,
            dataType: "json",
            success: function () { alert('Success'); },
            error: function (data) {
                alert(clickedSongId);}
        });            
    });
});

这是我的控制器:

[HttpPost]
public ActionResult UpdatePlayCount(int id)
 {
    return Redirect("http:www.google.com");
 }

2 个答案:

答案 0 :(得分:3)

您可能需要stringify数据

data: JSON.stringify(fightsong)

答案 1 :(得分:0)

var url = '@Url.Action("UpdatePlayCount", "Team")';
var clickedSongId = $(this).find('i').data('songid');
var fightsong = { Id: clickedSongId };

jQuery.ajax(url, {type: 'POST', data: fightsong}).done(function(data)
{
    //write code with javascript if you want redirect
}).fail(function(jqXHR, textStatus)
{
     //write code to handle error
});