【问题标题】:web api returned content missing when posting in angularjs在angularjs中发布时,web api返回的内容丢失
【发布时间】:2016-01-27 18:16:23
【问题描述】:

我正在尝试使用 angularjs 发布数据并将一些内容发布到 .net web api

这是我的网络 api

[HttpPost]
    public HttpResponseMessage Post()
    {
        return new HttpResponseMessage()
        {
            Content = new StringContent(
                "<strong>test</strong>",
                Encoding.UTF8,
                "text/html"
            )
        };
    }

这是我的客户发来的帖子

$http({
                url: 'my happy url',
                method: "POST",
                data: objData,
                headers: {
                    'Content-Type': 'text/html'
                }
            }).success(function (data, status, headers, config) {
                console.log(headers());
            }).error(function (data, status, headers, config) {
                console.log("error");
            });

我的问题是我没有返回任何数据。我确定我错过了一些简单的东西。感谢您的帮助。

在上面的代码中,data参数是空的,我希望在data参数中找到字符串“test”。

【问题讨论】:

  • 如果你将它打印到控制台它会显示什么?未定义?
  • 那么,.success 被调用了吗?你只记录标题,数据参数呢?
  • 尝试console.log()成功函数中的所有参数。
  • 我正在寻找空数据参数中的结果。我留下了标题,因为这是我在调试时使用的最后一件事。
  • 您是否尝试过通过PostManFiddler 等其他客户端访问WebAPI 数据?它在那里工作吗?

标签: asp.net angularjs asp.net-web-api


【解决方案1】:

你可以尝试使用IHttpActionResult来代替HttpResponseMessage吗?示例代码如下。

public IHttpActionResult PostSample()
{
    return Content(HttpStatusCode.OK, "Test String");
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-22
    • 2014-08-15
    相关资源
    最近更新 更多