Javascript AJAX调用ASP MVC操作
我尝试通过ajax从域外调用ASP MVC操作 安装程序 我托管了一个MVC应用程序,其中包含以下操作:Javascript AJAX调用ASP MVC操作,javascript,c#,jquery,ajax,asp.net-mvc,Javascript,C#,Jquery,Ajax,Asp.net Mvc,我尝试通过ajax从域外调用ASP MVC操作 安装程序 我托管了一个MVC应用程序,其中包含以下操作: [HttpPost] [AllowAnonymous] public ActionResult AjaxLogin(LoginViewModel model) { [..Login stuff..] return Json(new { Url: "...", Result: "..." }); } 用法 为了进行测试,我尝试使用Firefox的HttpRequester插件
[HttpPost]
[AllowAnonymous]
public ActionResult AjaxLogin(LoginViewModel model)
{
[..Login stuff..]
return Json(new { Url: "...", Result: "..." });
}
用法
为了进行测试,我尝试使用Firefox的HttpRequester插件调用manuell,结果如下:
它工作正常,答案与预期一致。现在我想从第二个网页(不同的域)调用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可以工作,而我的ajax调用不能
尝试
我还尝试了使用firefox调试工具进行网络分析
但我不明白为什么它不工作,因为它显示“状态代码200”,但结果是空的
这可能解决您的问题,也可能解决不了您的问题,但如果您正在进行跨域AJAX调用,请确保您设置了COR:
我不确定这是否是答案,但您是否尝试过JSONP?另一件事是,如果您从另一个URL请求数据,使用Web API控制器不是更好吗?但这并不能解释为什么使用HttpRequester进行测试有效?如果这是解决方案,它也应该失败。