MVC를 처음 사용하고 MVC에 웹 응용 프로그램을 작성했습니다. 요청을 보내려고합니다.
는 내가 요청을 보낼 시도하고있는 면도칼 페이지있어 : 내가 절대적으로 잘 작동 페이지에 연결된 컨트롤러를 가지고 외에요청을 보내지 않음
$(document).ready(function() {
var query = $('#productQuery').val();
alert("Start.");
var uri = 'api/search/products?q=abc';
$.get(uri, function (data) {
alert("Load was performed.");
});
});
을,이 ApiController :
[RoutePrefix("api/search")]
public class SearchController : ApiController
{
[Route("products")]
[HttpGet]
public async Task<IEnumerable<ProductDocument>> searchProducts(
[FromUri(Name = "q")]string query,
[FromUri(Name = "cat")]string[] categories=null)
{
ProductsResponse response = await SolrWebApi.QueryAsync<ProductsResponse>(query);
if (response.Header.Status != 0)
{
throw new HttpResponseException(HttpStatusCode.InternalServerError);
}
return response.Body.Documents.Take(3).ToArray();
}
누구든지 내가 잘못하고 왜 내 요청을 보내지 않았는지 말할 수 있다면 감사 할 것입니다.
귀하의 uri는 라우팅 속성이 주어지면'api/search/products'이어야합니다. '@ Url.Action'을 들여다 보면 경로를 하드 코드하기보다는 컨트롤러 + 액션을 통해 URL을 얻을 수 있습니다. 그래도 작동하지 않으면'categories' 매개 변수없이 (또는 매개 변수가 0이고 빌드 업하여) 시도하십시오. –