weixin_33726318 2016-07-22 14:19 采纳率: 0%
浏览 15

在jquery中进行ajax调用

I am trying to pass the following data to my action using ajax call. I am not sure what I am doing wrong but the client id is always 0. I am hard coding the client id in the call, but I still see zero. Everything else is getting passed correctly.

 data: {
     "BedID": bedID, 
     "BedNumber": bedNumber,
     "ClientSearchItem": { 
         "ClientID": 160 
     },
     "BuildingName": buildingName,
     "RoomName": roomName,
     "RoomNumber": roomNumber, 
     "SiteName": siteName
},

// my ajax call

$.ajax({
        url: myUrl
        type: "GET",
        dataType: "JSON",
        data: {
            "BedID": bedID, "BedNumber": bedNumber, "ClientSearchItem": { "ClientID": 160 }, "BuildingName": buildingName,
            "RoomName": roomName, "RoomNumber": roomNumber, "SiteName": siteName
        },
        success: function (data) {
            // do something here
        },
        error: function (error) {
            alert("An error occured");
        }
    });

 public class SearchClient
    {
        // parameterless constructor
        public SearchClient()
        {

        }
        public int BedID { get; set; }
        public int BedNumber { get; set; }
        public string BuildingName { get; set;}
        //public int ClientID { get; set; }
        public ClientSearchItem ClientSearchItem { get; set; }
        public bool IsReservation { get; set;}
        public string RoomName { get; set;}
        public string RoomNumber { get; set; }
        public string BedManageOption { get; set; }

        public string SiteName { get; set;}
        [Required]
        public string StartDate { get; set;}
        public string StartTime { get; set;}
        public DateTimePicker EndDateTime { get; set;}
        public string Url { get; set; }
    }

public ActionResult _AddClientToBed(SearchClient model)
        {
         // do something here
}
  • 写回答

1条回答 默认 最新

  • George_Fal 2016-07-22 14:49
    关注

    I would suggest couple of points in order to make your code working.

    1) First add contentType: "application/json".

    2) Second, make Ajax request as "POST" request so that Asp.Net MVC can easily resolve the form content into complex object. (Though it should resolve the complex object from query string as well). 3) Stringify your input data.

    Your ajax call would look like below.

            $.ajax({
                url: myUrl,
                type: "POST",
                data: JSON.stringify({
                       "BedID": bedID, "BedNumber": bedNumber, "ClientSearchItem": { "ClientID": 160 }, "BuildingName": buildingName,
                       "RoomName": roomName, "RoomNumber": roomNumber, "SiteName": siteName
                }),
                contentType: "application/json",
                success: function (data) {
                    // do something here
                },
                error: function (error) {
                    alert("An error occured");
                }
            })
    

    Try it once and confirm it worked for you.

    评论

报告相同问题?