我想從我的HTML客戶端調用api。它給了我內部的服務器錯誤,但是當我用郵遞員嘗試它的時候它就起作用了。Web api內部服務器錯誤
這裏是我的API代碼
[AcceptVerbs("POST")]
public dynamic Add(string post,string title, string user)
{
if (post == null)
throw new Exception("Post content not added");
if (title == null)
throw new Exception("Post title not added");
var u = UserManager.FindByEmailAsync(user);
Blog blog = Blog.Create(u.Result.Account.RowKey, post, title).Save();
return new
{
id = blog.Id
};
}
我的HTML的客戶是這樣
var d = {
post: post,
title: title,
user: user
}
$.ajax({
type: 'POST',
url: apiUrl + 'Blog/Add',
contentType: "application/json; charset=utf-8",
dataType: 'json',
data: JSON.stringify(d)
}).done(function (data) {
console.log(data);
}).fail(function (error) {
});
,這裏是我的路線API配置
config.Routes.MapHttpRoute(
name: "RPCApi",
routeTemplate: "{controller}/{action}/{id}",
defaults: new
{
id = RouteParameter.Optional
},
constraints: new
{
subdomain = new SubdomainRouteConstraint("api")
}
);
誰能幫助代碼我在這裏,並解釋我爲什麼它與郵遞員,而不是我的HTML客戶端?
您收到了什麼錯誤? – Yoav
未找到。 404.基本上無法達到api的終點。 – mohsinali1317
不要拋出'Exception' - 這將導致500.你應該返回400結果在這些情況下。 –