我是javascript和MVC的新手我正在开发一个包含注册页面的示例应用程序,我正在使用ajax完成该过程,我的当前代码在下面给出
function create() {
var user_name = $("#txtUser").val();
var pass = $("#txtPass").val();
var email = $("#txtEmail").val();
var phone = $("#txtPhone").val();
var city = $("#txtCity").val();
var state = $("#txtState").val();
var zip = $("#txtZip").val();
$.ajax({
url: '/EmberNew/Home/Create',
type: 'POST',
data: { user_name: user_name, pass: pass,email:email,phone:phone,city:city,state:state,zip:zip },
success: function (response) {
alert("success");
}
});
return false;
}
并且它工作正常,但我想知道有没有办法将这些值作为单个对象传递,就像在C#中一样,如果这个问题太傻了,请原谅我
服务器端代码
[HttpPost]
public ActionResult Create(User user)
{
UserDL newUser = new UserDL();
newUser.SignUp(user);
return Json(new { success = true });
}
并且我想知道有没有办法将这些值直接与我的服务器端对象
组合User.cs
public class User
{
public virtual int ID { get; set; }
public virtual string UserName { get; set; }
public virtual string Password { get; set; }
public virtual string EmailID { get; set; }
public virtual int Phone { get; set; }
public virtual string City { get; set; }
public virtual string State { get; set; }
public virtual int Zip { get; set; }
}
答案 0 :(得分:2)
尝试以下代码。在单个对象命名数据中输出所有变量并传递它。
function create() {
var data = {
'UserName': $("#txtUser").val(),
'Password': $("#txtPass").val(),
'EmailID': $("#txtEmail").val(),
'Phone': $("#txtPhone").val(),
'City': $("#txtCity").val(),
'State': $("#txtState").val(),
'Zip': $("#txtZip").val()
};
$.ajax({
url: '/EmberNew/Home/Create',
type: 'POST',
data: data ,
success: function (response) {
alert("success");
}
});
return false;
}