嗨我想將一些數據發佈到我的WebAPI,但出現錯誤爲「無法加載資源:服務器響應405狀態(不允許的方法)」
這裏是我的角度電話:
var req= {
url: appSettings.basePath + '/api/Location/PostSearch',
headers: { 'Content-Type': 'application/json' },
//datatype: 'Json',
data: SearchInfo,
method: 'POST'
}
return $http(req);
我的API:
public int PostSearch(Search Obj)
{
Obj.Location = ReplaceDefaultValuesWithBlank(Obj.Location);
Obj.Sublocation = ReplaceDefaultValuesWithBlank(Obj.Sublocation);
Obj.PublicationCategory = ReplaceDefaultValuesWithBlank(Obj.PublicationCategory);
Obj.PublicationName = ReplaceDefaultValuesWithBlank(Obj.PublicationName);
int IsAdded = Db.USP_SaveSearch(Obj.SSO ?? "", Obj.SearchName ?? "", Obj.Location ?? "", Obj.Sublocation ?? "", Obj.PublicationCategory ?? "", Obj.PublicationName ?? "", Obj.FileNameFilterText ?? "", Obj.Content ?? "", Obj.DateRange ?? "");
return IsAdded;
}
不知道是什麼問題,請致電工作正常,在IE瀏覽器,但犯規適用於Chrome/FireFox,
我沒有看到有任何CORS問題,因爲「GET」的作品精絕,這是相關的定製路線,我在的WebAPI紛紛推出
WebAPIConfig.cs:
public static void Register(HttpConfiguration config)
{
config.Routes.MapHttpRoute(
name: "DefaultApiWithAction",
routeTemplate: "Api/{controller}/{action}"
);
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
請幫助我出去,我花了很多時間排除故障。
嘗試得到它,使用GET方法,你必須與其他一些概念混淆,否則一切看起來不錯,並應得到良好的獲得,你會得到結果。 – MarmiK
你的url應該是'url: appSettings.basePath +'/ api/Location'' –
嗨,獲取方法是在我的API中單獨定義的工作正常,但我需要這與POST一起工作,因爲我試圖發佈一些數據將被存儲在我的數據庫中。不知道爲什麼它不適用於POST。 –