无法使用JQuery将数据发布到Web API

时间:2016-02-15 02:16:46

标签: c# jquery asp.net ajax

我已经在这里查看了几个示例和文章,但似乎无法弄清楚为什么我无法使用下面的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);

    }

2 个答案:

答案 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);
}