0

我不知道为什么它不显示警报。

我在我的控制器上放了一个断点,它会正确返回数据。在我看来,它没有显示任何警报。

我的观点 -

HTML

<div class="well pull-right">
    <a id="btn_Pardakht" href="" class="btn btn-general " onclick=" Myfunc();">spend</a>
</div>

JavaScript

function Myfunc() {

    var url = '@Url.Action("MyAction", "MyController")';
    $.post(url, {
        nam: 'alex'
    }, function (data) {
        if (data)
            alert("success");
        else
            alert("error");
        location.reload();
    });
}

我的控制器:

public ActionResult MyAction ( string nam)
{
    var data = new
    {
        sent = true
    };
    return Json(data);    
}
4

2 回答 2

0

尝试这个,

var url = '@Url.Action("MyAction", "MyController")';
$.post(url , { name: "John"})
.done(function(data) {
alert("Data Loaded: " + data);
});
于 2013-08-27T06:02:34.950 回答
0

像这样试试

<a id="btn_Pardakht" href="javascript:void(0)" class="btn btn-general " onclick="return Myfunc();">spend</a>

在javascript中,

function Myfunc() {

    var url = '/MyController/MyAction';
    $.post(url, {
        nam: 'alex'
    }, function (data) {
        if (data)
            alert("success");
        else
            alert("error");
        location.reload();
    });
    return false;
}

它仍然没有响应..JSON.stringify({name: 'alex'});

改变你的行为,比如,

public ActionResult MyAction ( string nam)
{
    var data = new
    {
        sent = true
    };
    return Json(data,JsonRequestBehavior.AllowGet);    
}

希望这可以帮助。

于 2013-08-27T06:33:49.187 回答