我正在尝试学习如何使用 ServiceStack 编写 Web 服务并通过 JavaScript 中的 ajax 调用它。我通过观看复数视觉电影做到了这一点,我想我几乎想出了如何做到这一点,除了通过服务调用将数据作为参数传递。
我尝试使用这个 ajax 调用来调用服务:
var request = { };
request.Amount = 32;
$.ajax({ type: 'POST',
contentType: 'application/jsonp; charset=utf-8',
url: "http://localhost:1879/entry",
dataType: 'jsonp',
data: {request: request},
success: function(result){
alert(result.Id);
}});
该服务如下所示:
public class EntryService : Service
{
public object Post(Entry request)
{
return new EntryResponse() { Id = request.Amount };
}
}
[Route("/entry", "POST")]
public class Entry
{
public int Amount { get; set; }
}
public class EntryResponse
{
public int Id { get; set; }
}
我希望回调中的警报显示数字 32,但它显示数字 0。当我调试我的服务时,我看到 request.Amount 也是 0,所以我认为我在 Ajax 服务调用时做错了,但是我不知道是什么。所以我想知道我在这里做错了什么。