passing multiple parameters using Ajax(url) in c#

16,164

You can use something like this:

Ajax

$.ajax({
    type: 'GET',
    url: 'Home/AddComment',
    data: { CommentText: $("#CommentText").val(), 
             Username: $("#Username").val() },
    cache: false,
    success: function (result) {            
        desc = result;
    }
});

And then in your controller:

public string AddComment(string CommentText, string Username)
{
    //your code here
}

Hope this will help you.

Share:
16,164

Related videos on Youtube

user3265963
Author by

user3265963

Updated on June 04, 2022

Comments

  • user3265963
    user3265963 about 2 years

    Am having trouble getting multiple parameters with Ajax in MVC. I have two fields that require an input. Input field for Username and CommentText.

    I am defining these parameters in the url section of the ajax. It is working fine when I only pass one parameter(works for both when tried separately), but as soon as I try both the latter parameter does not work.

    Ajax function:

    $(function () {
        $("#button").click(function () {
            $.ajax({
                type: "GET",
                contentType: "application/json; charset=utf8",
                url: "Home/AddComment?CommentText=" + $("#CommentText").val() + "&Username=" + $("Username").val(),
                dataType: "json",
                success: function (Comment) {
                    //some function
                },
                error: function (xhr, err) {
                    //some code
                }
            });
        });
    });
    

    Any ideas? Should I maybe be passing the parameters through "data" instead?

    Edit: *This is the controller that should catch these parameters.*

     public JsonResult AddComment(string commentText, string username)
            {
                Comment c = new Comment() { CommentText = commentText, Username = username };
                CommentRepository.Instance.AddComment(c);
                return Json(GetComments(), JsonRequestBehavior.AllowGet);
    
            }
    
    • Pavlo
      Pavlo
      You should pass them not via url but as a data
    • Pavlo
      Pavlo
      Also, you will get an error here $("Username").val() don't forget to add # like $("#Username").val()
  • user3265963
    user3265963 over 10 years
    check the update.. I have a controller that takes in these parameters

Related