WebApi로 시작하여 여러 가지 문제가 있습니다. 수많은 정보를 읽지 만 일부 개념이 누락 된 것 같습니다. 내 컨트롤러에서jQuery에서 WebApi 호출
:
public IEnumerable<Product> GetProducts()
{
return db.Products.AsEnumerable();
}
public Product GetProduct(string name)
{
Product product = db.Products.FirstOrDefault(p => p.Name == name);
if (product == null)
{
throw new HttpResponseException(Request.CreateResponse(HttpStatusCode.NotFound));
}
return product;
}
자바 스크립트 : 모든
$('#Search').click(function() {
jQuery.support.cors = true;
var productName = $('#Name').val();
$.ajax({
url: "http://localhost:62178/api/product",
//url: "http://localhost:62178/api/product/" + productName,
type: "GET",
success: function (data) {
alertData(data);
}
});
});
첫째,이 매개 변수 제품 이름을 전달하면 상관없이, 매개 변수가없는 GetProduct가 호출됩니다 (다시 데이터를 반환해야합니다). 이러한 GET 메서드를 모두 호출 할 수 있어야합니다. 둘째, success 함수가 호출되지 않습니다. 그래서 WebApi 메서드에서 데이터를 다시 얻지는 못합니다.
모든 도움말이나 안내에 감사드립니다. 감사. WebApiConfig.cs
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
}
지금
만 문제는 내 데이터가 경고되지 않는다는 것입니다 :
$('#Search').click(function() {
jQuery.support.cors = true;
var productName = $('#Name').val();
$.ajax({
url: "http://localhost:62177/api/product/" + productName,
//data: { name: productName },
type: "GET",
dataType: "jsonp",
error: function (request, status, error) {
alert(request.responseText);
},
success: function (data) {
alert(data);
}
});
});
'dataType와 = '''실종, 당신이 기대하는 것을 webapi에서'html','json', '텍스트','script' : 아래의 "결과")
그래서 그것을 교수형? – Jai
콘솔 오류가 있는지 확인 했습니까? –
데이터 유형이 "json"인 경우 오류가없고 오류가 없습니다. – mishap