【发布时间】:2016-08-11 05:20:37
【问题描述】:
我只能使用 ajax 调用 asp GET 方法。 这是我的 JavaScript:
$scope.test = function () {
var dataObject = {};
dataObject.Company_Code = companyCode;
$http({
method: 'POST',
url: 'http://localhost:31041/api/Location/test',
data: $.param(dataObject),
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
'Authorization': 'Bearer ' + token
}
})
.success(function (data) {
}).error(function () {
});
}
这是我的 WebAPI 方法:
[HttpPost]
public string test(Company_Details Company)
{
return "11";
}
我的global.asax 设置:
protected void Application_BeginRequest(object sender, EventArgs e)
{
HttpContext.Current.Response.AddHeader("Access-Control-Allow-Origin", "*");
if (HttpContext.Current.Request.HttpMethod == "OPTIONS")
{
HttpContext.Current.Response.AddHeader("Cache-Control", "no-cache");
HttpContext.Current.Response.AddHeader("Access-Control-Allow-Methods", "GET, POST, PUT");
HttpContext.Current.Response.AddHeader("Access-Control-Allow-Headers", "Content-Type, Accept,Authorization");
HttpContext.Current.Response.AddHeader("Access-Control-Max-Age", "1728000");
HttpContext.Current.Response.End();
}
}
当我尝试调用此方法时,我收到以下错误:
我也可以使用 URL 参数(url: 'http://localhost:31041/api/Location/test?Name:123',)调用 post 方法。但无法使用data: $.param(dataObject) 传递数据
【问题讨论】:
-
您收到服务器错误。因此,如果您附加调试器,您应该能够看到异常来自哪里
标签: javascript ajax asp.net-mvc asp.net-web-api