我想發佈一些數據到Web API控制器,但我似乎在這裏取回一個404 NOT FOUND響應是我的代碼:404沒有導致從後Ajax調用
public class CarsController : ApiController
{
.....
[HttpPost]
public CarInputCharacteristicsDTO PostCharacteristics(CarInputCharacteristicsDTO characteristics)
{
return characteristics;
}
}
public static void Register(HttpConfiguration config)
{
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional }
);
config.Formatters.Clear();
config.Formatters.Add(new JsonMediaTypeFormatter());
}
public class CarInputCharacteristicsDTO
{
public int Manufacturer { get; set; }
public int ModelType { get; set; }
public int Fuel { get; set; }
public int Transmission { get; set; }
public int BodyType { get; set; }
public int PriceFrom { get; set; }
public int PriceTo { get; set; }
public int Power { get; set; }
public int YearFrom { get; set; }
public int YearTo { get; set; }
public int KilometersFrom { get; set; }
public int KilometersTo { get; set; }
}
這是我的Javascript code:
display.on("click", function() {
if (isValidInput()) {
var data = {
Manufacturer: manufacturer.val(),
ModelType: modelType.val(),
Fuel: fuel.val(),
Transmission: transmision.val(),
BodyType: bodyType.val(),
PriceFrom: priceFrom.val(),
PriceTo: priceTo.val(),
Power: power.val(),
YearFrom: yearFrom.val(),
YearTo: yearTo.val(),
KilometersFrom: kilometersFrom.val(),
KilometersTo: kilometersTo.val()
};
var url = "http://localhost:3471/api/Cars/PostCharacteristics";
$.post(url, JSON.stringify(data) , function(stuff) {
console.log(stuff);
});
}
});
我在做什麼錯?
編輯
這是爲了我的URL的基本路徑:
的事情是我以另一種情況下,執行同樣的方式GET請求和它的工作本是我的代碼:
function getModelTypes(value) {
var url = "http://localhost:3471/api/Cars/GetModelTypes/" + value;
var modelTypeDefaultContent = "Please select a model";
$.getJSON(url, function (arrayObjects) {
---
});
}
如果需要其他信息,請讓我知道
因爲我不知道您的應用程序的IIS Express設置是什麼,所以我無法分辨URL是否不正確,但我建議將AJAX調用中定義的URL更改爲相對「/ api/Cars/PostCharacteristics「,然後讓客戶理清其餘部分。除非您能夠提供更多細節,否則這是目前我可以提供的最佳信息。 – Inari
您是否看到404響應正文中的任何其他信息?......還可以共享您的Global.asax配置... –