简体   繁体   中英

MVC4 controller post multiple json objects to controller, ajax post

is there any example to post multiple objects to a controller. How the data for the ajax post have to look like ?

[HttpPost]
public string Register(UserLogin userLogin, Contact contact)
{
}

UserLogin

public class UserLogin 
{
   public string Username { get; set; }
   public string Password { get; set; }
}

Contact

public class Contact
{
   public string Firstname { get; set; }
   public string Lastname { get; set; }
}

AJAX ?

$.ajax({
   type: "POST",
   url: "SomeUrl"
   dataType: "json",
   contentType: "application/json; charset=utf-8",
   data: ? });

Try this

$.ajax({
   type: "POST",
   url: "SomeUrl"
   dataType: "json",
   contentType: "application/json; charset=utf-8",
   data: {
       'userLogin' : {
           'Username' : 'Username',
           'Password' : 'Password'
       },
       'contact' : {
           'Firstname' : 'Firstname',
           'Lastname' : 'Lastname'
       }
   }
});

Just need to change javascript . Pass your object like this after creating

var loginObject = {
  Username: uname,//get it using jQuery $('#Username').val()
  Password : pswrd    //same way
};
var contact = {
  Firstname = "",
  Lastname = "",
};

And in ajax call,

data: {userLogin: loginObject, contact: contactObject}

You can follow the below snippet

var userLogin = {
UserName : "", Password : ""
};

var contact = {
FirstName : "", LastName : ""
};

Then you can assin the data to the ajax call like data : {userLogin : userLogin, contact : contact}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM