Я пытаюсь вызвать действие ASP MVC извне домена через ajax.AJAX вызывает действие ASP MVC
Настройка
Я принимал приложение MVC с этим действием внутри:
[HttpPost]
[AllowAnonymous]
public ActionResult AjaxLogin(LoginViewModel model)
{
[..Login stuff..]
return Json(new { Url: "...", Result: "..." });
}
Использование
Для тестирования я пытаюсь Manuell Вызов с HttpRequester аддон от Firefox, с этим результатом:
Он работает правильно, и ответ такой, как ожидалось. Поэтому теперь я хочу сделать ajax-вызов со второй веб-страницы (другого домена).
Мой JQuery (2.2.0) Ajax вызов выглядит следующим образом:
var requestData = {
model: {
Email: emailValue,
Password: passwordValue
}
};
var requestPlain = JSON.stringify(requestData);
$.ajax({
url: json_login_url,
data: requestData,
method: 'POST',
async: false,
contentType: 'application/json; charset=utf-8',
dataType: 'json',
success: function (result, textStatus, jqXHR) {
[...]
},
error: function (jqXHR, textStatus, errorThrown) {
[...]
},
beforeSend: function (jqXHR, settings) {
return true;
},
complete: function (jqXHR, textStatus) {
},
});
Проблема
вызов Ajax только дает мне ошибку.
Так почему мой testcall работает, но мой Аякса вызов не?
ПопыткиЯ также попробовал сетевой анализ с инструментами отладки Firefox.
Но я не понимаю, почему он не работает, потому что он показывает «код состояния 200», но результат пуст !?
Я не уверен, это ответ, но вы попробовали JSONP - http://stackoverflow.com/questions/2067472/what-is-jsonp-all-about –
, и еще одна вещь - если вы запрашиваете данные с другого URL-адреса, не так ли? лучше использовать контроллеры Web API? –