'ajax' 调用 Web api 时出现 403 响应
403 Response when making 'ajax' call to web api
我正在调用我的后端来填充一个 observableArray,如下所示:
$.ajax({
url: 'www.data.net/api/....',
type: 'GET',
dataType: 'jsonp',
crossDomain: true,
success: function (data) {
dataHolder(data);
},
error: function (xhr, textStatus, errorThrown) {
console.log(errorThrown);
}
});
后端方法:
[Route("Api/mydata/GetMyContent/{postPageName}"), HttpGet]
public HttpResponseMessage GetMyContent(string postPageName)
{
var result = mydataRepository.GetMyContent(postPageName);
return Request.CreateResponse(result == null ? HttpStatusCode.OK :
HttpStatusCode.Forbidden, result);
}
改变
result == null ? HttpStatusCode.OK : HttpStatusCode.Forbidden
至
result != null ? HttpStatusCode.OK : HttpStatusCode.Forbidden
现在,如果您选择的页面没有内容,您的后端方法只会 returns “200 - OK”。否则,如果页面有一些内容,你总是 return 403。
我觉得您可能无意中更改了三元运算符?
也许试试:
return Request.CreateResponse(result == null ? HttpStatusCode.Forbidden:
HttpStatusCode.OK, result);
我正在调用我的后端来填充一个 observableArray,如下所示:
$.ajax({
url: 'www.data.net/api/....',
type: 'GET',
dataType: 'jsonp',
crossDomain: true,
success: function (data) {
dataHolder(data);
},
error: function (xhr, textStatus, errorThrown) {
console.log(errorThrown);
}
});
后端方法:
[Route("Api/mydata/GetMyContent/{postPageName}"), HttpGet]
public HttpResponseMessage GetMyContent(string postPageName)
{
var result = mydataRepository.GetMyContent(postPageName);
return Request.CreateResponse(result == null ? HttpStatusCode.OK :
HttpStatusCode.Forbidden, result);
}
改变
result == null ? HttpStatusCode.OK : HttpStatusCode.Forbidden
至
result != null ? HttpStatusCode.OK : HttpStatusCode.Forbidden
现在,如果您选择的页面没有内容,您的后端方法只会 returns “200 - OK”。否则,如果页面有一些内容,你总是 return 403。
我觉得您可能无意中更改了三元运算符?
也许试试:
return Request.CreateResponse(result == null ? HttpStatusCode.Forbidden:
HttpStatusCode.OK, result);