【发布时间】:2015-12-10 17:04:18
【问题描述】:
WebApiConfig
'...
config.Routes.MapHttpRoute(
name:="DefaultApi",
routeTemplate:="api/{controller}/{id}",
defaults:=New With {.id = RouteParameter.Optional}
)
'...
全球.asax
Protected Sub Application_Start(sender As Object, e As EventArgs)
AreaRegistration.RegisterAllAreas()
GlobalConfiguration.Configure(AddressOf WebApiConfig.Register)
RouteConfig.RegisterRoutes(RouteTable.Routes)
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters)
BundleConfig.RegisterBundles(BundleTable.Bundles)
End Sub
Web API 控制器
<Authorize()>
<RoutePrefix("api/customer")>
Public Class CustomerController
Inherits ApiController
<Route("saveName")>
<HttpPost>
Public Function saveName(value As MyTypeOfValues) As IHttpActionResult
'Do some staff
End Function
End Class
请求方法:
var actionurl = "api/customer/saveName";
$.ajax(actionurl,
{
dataType: "JSON",
data: customerdata,
type: "POST",
contentType: "application/json; charset=utf-8",
error: function() { alert('error');}
}).done(function (result) { alert(result);});
带有网址 = api/customer/saveName
请求已发送至http://localhost/MySiteName/Customer/ShowCustomer/api/customer/saveName
并得到错误 404
带有网址 = /api/customer/saveName
请求已发送至http://localhost/api/customer/saveName
并得到错误 404
带有网址 = http://localhost/MySiteName/api/customer/saveName
我手动创建并由 Fiddler 发送 - 工作正常。
在相关问题的不同答案中,建议的网址在我的情况下不起作用
问题:如何在 javascript/typescript 中为 Web API 请求生成有效的 url?
【问题讨论】:
标签: javascript asp.net-web-api typescript