我是 ASP.NET Web API 的初学者。
使用失败jQuery.getJson()
to get ASP.NET Web API
这失败了:
var url = "http://localhost:56110/api/Values";
$.getJSON(url, function (data) {
$("#locMsg").text("success"+data);
});`
我以为是因为跨域请求,但是成功了:
var url = "http://api.flickr.com/services/feeds/photos_public.gne?tags=dog&tagmode=any&format=json&jsoncallback=?";
$.getJSON(url, function (data) {
$("#locMsg").text("success");
});
然后我尝试添加“jsoncallback =?”但也失败了:
var url = "http://localhost:56110/api/Values?jsoncallback=?";
$.getJSON(url, function (data) {
$("#locMsg").text("success"+data);
});
值控制器:
namespace WebApplication1.Controllers{
public class ValuesController : ApiController
{
// GET api/values
public IEnumerable<string> Get()
{
return new string[] { "value1", "value2" };
}`
`// GET api/values/5
public string Get(int id)
{
return "value";
}
// POST api/values
public void Post([FromBody]string value)
{
}
// PUT api/values/5
public void Put(int id, [FromBody]string value)
{
}
// DELETE api/values/5
public void Delete(int id)
{
}
}
}
}
您需要在 WebAPI 中启用 CORS。首先,安装这个 Nuget -https://www.nuget.org/packages/Microsoft.AspNet.WebApi.Cors https://www.nuget.org/packages/Microsoft.AspNet.WebApi.Cors然后将此行添加到 WebApiConfig:
config.EnableCors(new EnableCorsAttribute("*","*","*"));
WebApi配置:
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
config.EnableCors(new EnableCorsAttribute("*","*","*"));
// Web API configuration and services
// Configure Web API to use only bearer token authentication.
config.SuppressDefaultHostAuthentication();
config.Filters.Add(new HostAuthenticationFilter(OAuthDefaults.AuthenticationType));
// Web API routes
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)