我已经在这里查看了几个示例和文章,但似乎无法弄清楚为什么我无法使用下面的AJAX将数据成功传递到我的Web API。当我使用Swagger UI时,我的Web API可以正常工作。
AJAX:
function sendMessage(message) {
$.ajax({
url: apiAppUri + "/api/createmessage",
type: "POST",
data: {fileId: "123"},
contentType: "application/json",
success:function(data)
{
alert("Message Sent");
}
})
Web API / C#
[HttpPost]
[Route("api/CreateMessage")]
public void CreateMessage([FromBody]string fileId)
{
DataContainer container = new DataContainer();
container.SendQueueMessage(fileId);
}
答案 0 :(得分:0)
我没有足够的声誉发表评论,所以我在这里发表评论。
你的ajax代码中的apiAppUri
是什么?似乎是一个跨性别的问题。 Ajax不支持跨源请求。
答案 1 :(得分:0)
试试这个:
Ajax电话:
function sendMessage(message) {
$.ajax({
url: apiAppUri + "/api/createmessage",
type: "POST",
data: {fileId: "123"},
dataType: "json",
contentType: "application/json",
success: function(data)
{
alert("Message Sent");
}
});
}
API方法:
[HttpPost]
[Route("api/createmessage")]
public void CreateMessage(string fileId)
{
DataContainer container = new DataContainer();
container.SendQueueMessage(fileId);
}