I'm having a MVC
project where I have a Json
call to the controller. This call returns nothing, even thou it always should return either true or false.
My code looks like this
Register.cshtml
function registera() {
var $email = $('#register-email'),
$password = $('#register-password'),
$repeatPassword = $('#register-repeatPassword'),
$firstname = $('#register-firstname'),
$lastname = $('#register-lastname'),
$message = $('#message-register');
if ($password.val() != $repeatPassword.val()) {
$message.className = 'alert alert-danger';
$message.html("Both passwords must be identical");
} else {
$message.className = 'alert';
showLoadingText($message);
register($email.val(), $password.val(), $firstname.val(), $lastname.val(), function (data) {
if (data.IsValid()) {
$message.html('');
$message.className = '';
} else {
$message.className = 'alert alert-danger';
$message.html(data.Message());
}
});
}
};
script.js
function register(email, password, firstname, lastname) {
$.get("/Account/GetJson_Register", { email: email, password: password, firstname: firstname, lastname: lastname }, function (data) {
return data;
}, 'json');
};
AccountController.cs
public ActionResult GetJSON_Register(string email, string password, string firstname, string lastname)
{
repository.Register(email, password, firstname, lastname);
return Error.Instance.Message != ""
? Json(new { IsValid = false, Message = Error.Instance.Message })
: Json(new { IsValid = true, Message = Error.Instance.Message });
}