Note that there are some explanatory texts on larger screens.

plurals
  1. POMVC Ajax form submission failed
    primarykey
    data
    text
    <p>I have a partial view which I called within another view. The partial view contains a form that looks like this:</p> <pre><code> @model Solnet_HotelSuite.Models.UserModels @using (Html.BeginForm("registration", "User", FormMethod.Post, new { id="UserReg"})) { @Html.ValidationSummary(true) &lt;fieldset&gt; &lt;legend&gt;UserModels&lt;/legend&gt; &lt;div id="submitResult"&gt; @ViewBag.res &lt;/div&gt; &lt;div class="fields_container"&gt; &lt;div class="fields_labels"&gt; @Html.LabelFor(model =&gt; model.user_name) &lt;/div&gt; &lt;div class="fields"&gt; @Html.EditorFor(model =&gt; model.user_name) @Html.ValidationMessageFor(model =&gt; model.user_name) &lt;/div&gt; &lt;/div&gt; &lt;div class="fields_container"&gt; &lt;div class="fields_labels"&gt; @Html.LabelFor(model =&gt; model.user_pass) &lt;/div&gt; &lt;div class="fields"&gt; @Html.EditorFor(model =&gt; model.user_pass) @Html.ValidationMessageFor(model =&gt; model.user_pass) &lt;/div&gt; &lt;/div&gt; &lt;div class="fields_container"&gt; &lt;div class="fields_labels"&gt; @Html.LabelFor(model =&gt; model.UserEmail) &lt;/div&gt; &lt;div class="fields"&gt; @Html.EditorFor(model =&gt; model.UserEmail) @Html.ValidationMessageFor(model =&gt; model.UserEmail) &lt;/div&gt; &lt;/div&gt; &lt;div class="fields_container"&gt; &lt;div class="fields_labels"&gt; @Html.LabelFor(model =&gt; model.RegDate) &lt;/div&gt; &lt;div class="fields"&gt; @Html.EditorFor(model =&gt; model.RegDate) @Html.ValidationMessageFor(model =&gt; model.RegDate) &lt;/div&gt; &lt;/div&gt; &lt;div class="fields_container"&gt; &lt;div class="fields_labels"&gt; @Html.LabelFor(model =&gt; model.status) &lt;/div&gt; &lt;div class="fields"&gt; @Html.EditorFor(model =&gt; model.status) @Html.ValidationMessageFor(model =&gt; model.status) &lt;/div&gt; &lt;/div&gt; &lt;div class="fields_container"&gt; &lt;div class="fields_labels"&gt; User Role &lt;/div&gt; &lt;div class="fields"&gt; @{ var md = new Solnet_HotelSuite.Models.DBEntity(); var umod = md.RolesModels.Select(r =&gt; r.Caption); @Html.DropDownList("userID", new SelectList(umod), new { @id = "userID" }) @Html.ValidationMessageFor(model =&gt; model.Roles.Caption) } &lt;/div&gt; &lt;/div&gt; &lt;p&gt; &lt;button value="Create" id="register_USER"&gt;Save&lt;/button&gt; &lt;/p&gt; &lt;/fieldset&gt; } @Content.Script("jquery-1.6.2.js", Url) &lt;script type="text/javascript" &gt; $(function () { $('#register_USER').click(function () { var form = $('#UserReg'); // alert(JSON.stringify(form.serialize())); $.ajax({ type: "POST", url: form.attr('action'), data: JSON.stringify(form.serialize()), dataType: "json", contentType: "application/json", success: function (data) { alert(data.Message); }, error: function (data) { console.log(data.Message); alert(data.Message); } }); return false; }); }); &lt;/script&gt; </code></pre> <p>and the controller action looks like this :</p> <pre><code>[HttpPost] public JsonResult registration(Solnet_HotelSuite.Models.UserModels user, string userID) { try { if (ModelState.IsValid) { if (userExist(user.user_name)) { ViewBag.res = "User exist in record"; return Json(new { Message = "User Registartion failed" }); } } //var crypto = new SimpleCrypto.PBKDF2(); using (var db = new DBEntity()) { var query = (from p in db.RolesModels where p.Caption == userID select p.RoleId).Single(); var sysUser = db.UserModels.Create(); sysUser.user_name = user.user_name; sysUser.user_pass = user.user_pass; sysUser.UserEmail = user.UserEmail; sysUser.RegDate = user.RegDate; sysUser.RoleId = query; sysUser.Roles = user.Roles; sysUser.status = user.status; db.UserModels.Add(sysUser); db.SaveChanges(); } var db1 = new DBEntity(); ViewBag.Roles = db1.RolesModels.Select(r =&gt; r.Caption); ViewBag.RolesId = db1.RolesModels.Select(r =&gt; r.RoleId); } catch (DbEntityValidationException dbEx) { } if (!Request.IsAjaxRequest()) { return Json(new { Message = "User Registartion successful"}); } else { return Json(new { Message = "User Registartion failed" }); } } </code></pre> <p>I keep getting "undefined" in the alert. I don't know what I am doing wrong.</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload