Jquery AJAX CALL参数控制器的方法不起作用

时间:2015-07-22 08:18:39

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

我正在使用MVC应用程序中的Jquery AJAX调用。我的观点如下:

<script type="text/javascript">
    function send() {
        var Details = JSON.stringify({
            StudentName: $("#Name").val(),
            DateofJoining: $("#Date").val()
        });
        $('#target').html('sending..');

        $("SubmitName").click(function () {

            $.ajax({
                url: "/DQR/Details",
                type: "POST",
                dataType: "json",
                contentType: "application/json",
                data : Details ,
                success: function (data) {
                    $('#target').html(data.msg);
                },

            });
        })
    }
</script>

我的AJAX调用如下:

[HttpPost]
        public ActionResult Details (string StudentName, string DateofJoining)
        {

            var result = (from dc in _db.Details
                          where dc.Name== StudentName
                          select dc.Address);
            return Json(result, JsonRequestBehavior.AllowGet);
        }

我的控制器看起来像这样:

{{1}}

我不知道我错过了什么。 ajax请求无效。有人可以帮我这个吗?

3 个答案:

答案 0 :(得分:1)

想象你的控制器名称是DQR,那么你需要写如下: -

 $.ajax({
                url: "/DQR/Details",
                type: "POST",
                dataType: "json",
                contentType: "application/json",
                data : Details ,
                success: function (data) {
                    $('#target').html(data.msg);
                },

            });

和id应该是: -

 $("#SubmitName").click(function () {
        var Details = JSON.stringify({
        StudentName: $("#Name").val(),
        DateofJoining: $("#Date").val()
    });
    $('#target').html('sending..');

    //// your ajax call
}});

什么是Send()?我的意思是点击事件应该在$(document).ready(function() {});

之下

我建议选择简单的按钮而不是&#34;提交&#34;如果你正在玩客户端。

答案 1 :(得分:1)

正确绑定点击处理程序,在点击处理程序中移动Details对象

$(function() {
    $("#SubmitName").click(function () {
        var Details = JSON.stringify({
            StudentName: $("#Name").val(),
            DateofJoining: $("#Date").val()
        });
        $('#target').html('sending..');
        $.ajax({
            url: "/DQR/Details",
            type: "POST",
            dataType: "json",
            contentType: "application/json",
            data : Details ,
            success: function (data) {
                $('#target').html(data.msg);
            }
        });     
    });
});

答案 2 :(得分:0)

您也可以使用jQuery $.post方法。

这是一个例子。

var StudentName = $("#Name").val();
var DateofJoining = $("#Date").val();

$.post('/Controller/Action', { 'StudentName': StudentName , 'DateofJoining': DateofJoining  }, function(data) {
    $('#target').html(data.msg);
}, 'json');

以下是有关$.post

的更多信息