I wanted to send Mobile
number and EmailID
using jQuery AJAX to my MVC controller to check whether these details are already exist in the database or not.
When I am using the [HttpPost]
attribute on my action method, I am getting error as:
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at url.
If I remove the [HttpPost]
attribute, my action method is getting called, but all the values received in action method argument are null
.
Below is the action method code:
public class LogOnModel
{
public string Mobile { get; set; }
public string EmailID { get; set; }
}
[HttpPost]
[AllowAnonymous]
///AJAXService/LogOnAjax
public ActionResult LogOnAjax(LogOnModel obj)
{
return Json(true);
}
Below is my AJAX call:
var LoginModel = {
'Mobile': "ASH",
'EmailID': "MITTAL",
};
$.ajax({
url: 'http://localhost:51603/AJAXService/LogOnAjax',
type: 'GET',
contentType: 'application/json',
dataType: 'jsonp',
data: JSON.stringify(LoginModel),
success: function (result) {
if (result == true) {
window.location = "/Dashboard";
} else {
$QuickLoginErrors.text(result);
}
}
});
I have placed the code below in my web.config file to avoid CORS errors:
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Headers" value="Content-Type" />
<add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE, OPTIONS" />
</customHeaders>