jQuery post方法参数传递失败

时间:2015-07-13 13:40:14

标签: javascript c# jquery post asp.net-web-api

我是Javascript的新手并且学习POST方法。我写了一些代码,但它不起作用,我无法弄明白为什么。

这是脚本代码:

<script>
    $(document).ready(function () {
        $.post("/api/totaluserexp",
        {
            startDate: '20150701',
            endDate: '20150701'
        },
        function (data) {
            document.write("Total Experience: " + data);
        }, 'json');
    });
</script>

这是另一个脚本代码,应该做同样的事情:

<script>
    $(document).ready(function () {
        $.post("/api/totaluserexp",
            {
                startDate: "20150701",
                endDate: "20150701"
            })
            .done(function (data) {
                $(".result").html("Total Experience: " + data);
            });
    });
</script>

它们都会返回一个没有错误,没有警告等的空白页面。即使我使用警告,也没有任何反应。

这是我的控制器:

public int Post(DateTime startDate, DateTime endDate)
{
    return DBClassPackage.izamanraporlama.getUserTotalExp(startDate, endDate);
}

2 个答案:

答案 0 :(得分:0)

在控制器中设置变量以调试输入数据和输出结果。

public int Post(DateTime startDate, DateTime endDate)
{
    int result = DBClassPackage.izamanraporlama.getUserTotalExp(startDate, endDate);

    return result;
}

答案 1 :(得分:0)

我明白了。我试图返回一个简单的整数(如返回5;),但它也没有工作。

我不知道为什么,但这个Post方法不应该是Post方法。我设法在URL中传递参数,如下所示:

<script>
    $(document).ready(function () {
        $.post("/api/totaluserexp/apiden?20150701&20150701",
            {
                // startDate: "20150701",
                // endDate: "20150701"
            })
            .done(function (data) {
                $(".result").html("Total Experience: " + data);
            });
    });
</script>

如果有人解释原因,我会接受他/她的回答,因为我很好奇。