代码之家  ›  专栏  ›  技术社区  ›  Dofs

asp.net mvc jquery ajax输入参数为空

  •  6
  • Dofs  · 技术社区  · 15 年前

    我试图用jquery ajax发布一些数据,但是ajax方法中的参数为空。

    这是发送数据的简单测试:

     var dataPost = { titel: 'titel', message: 'msg', tagIds: 'hello' };
            jQuery.ajax({
                type: "POST",
                url: "Create",
                contentType: 'application/json; charset=utf-8',
                data: $.toJSON(dataPost),
                dataType: "json",
                success: function(result) {
                    alert("Data Returned: ");
                }
            });
    

    我的ajax方法如下:

    [HttpPost]
    public ActionResult Create(string title, string message, string tagIds)
    {... }
    

    我发送的数据有一些基本的错误,但我不知道是什么。一直以来,title、message和tagid都是空的,所以编码有问题,我只是不知道是什么。

    参数tagid最好是一个guid数组或列表。

    注意:jquery.tojson是这样的 plugin

    2 回复  |  直到 10 年前
        1
  •  15
  •   Darin Dimitrov    15 年前

    这个 Create 控制器操作不希望参数被json序列化,所以您不必这样做。试着直接传递它们:

    var dataPost = { titel: 'titel', message: 'msg', tagIds: 'hello' };
    jQuery.ajax({
        type: "POST",
        url: "Create",
        data: dataPost,
        dataType: "json",
        success: function(result) {
            alert("Data Returned: ");
        }
    });
    
        2
  •  0
  •   Wen    10 年前

    我们不需要 contentType: 'application/json; charset=utf-8', $.toJSON

    这是让我开心的密码!

     $(function () {
            $("#btnSumbit").click(function () {
                $('#results').hide();
                $('#loadingmessage').show();
                var a = $("#query").val();
    
                $.ajax({
                    type: "POST",
                    url: "/Search/Index",
                    data: ({ query: a }),
                    datatype: "json",
                    success: function (data) {
                        $('#results').empty();
                        for (var i = 0; i < data.length; i++) {
                            var div = "<div>" + data[i].Name + "</div>";
                            $("#results").append(div);
    
                        }
                        $('#loadingmessage').hide();
                        $('#results').show();
                    },
                    failure: function (errMsg) {
                        $('#loadingmessage').hide();
                        alert(errMsg);
                    }
                });
            });
        });