【问题标题】:Retrieving results from Iron-Ajax call从 Iron-Ajax 调用中检索结果
【发布时间】:2015-12-30 06:57:00
【问题描述】:

我开始使用 Polymer,尤其是使用 iron-ajax 从 ASP.Net WebAPI 服务中检索 JSON 数据。我可以调用该服务,但无法获取该服务返回的结果。

这是我的 Iron-ajax 元素:

    <iron-ajax auto
               url="http://local.webapi2.com/api/values"
               headers='{ "Key": "d72ad080-e3dd-43ea-ba95-0cd2a5a58bb1" }'
               handle-as="json"
               content-type="application/json"
               method='GET'
               verbose="true"
               on-response="handleResponse"></iron-ajax>

这是我的 handleResponse 函数:

    handleResponse: function (jsonFromServer)
    {
        console.log('response from server:', jsonFromServer);
    }

这是我的 WebAPI 端点:

[RoutePrefix("api/values")]
public class ValuesController : ApiController
{
    // GET api/values
    [Route("")]
    public IEnumerable<string> Get()
    {
        return new string[] { "value1", "value2", "value3", "value4", "value5", "value6" };
    }
}

我使用的是火狐浏览器。使用 Firebug 的 Net 选项卡,我可以看到对 http://local.webapi2.com/api/values 的调用,并且可以看到返回的结果:

["value1","value2","value3","value4","value5","value6"]

但是,在 Firebug 的控制台中,我只看到这个:

response from server: response 

其中“response”是一个对象,似乎是有关“iron-ajax”元素本身的详细信息。预期结果数据永远不会显示在控制台中。此外,控制台中 WebAPI 调用的响应选项卡具有 null 作为值。控制台中 WebAPI 调用下的详细信息中甚至没有 JSON 选项卡。

我不确定为什么“网络”选项卡具有您所期望的完整和准确的结果,但是“控制台”选项卡无效并且我看到了一个“响应”对象。

我在 Chrome 中也遇到了同样的情况。

我错过了什么?是配置问题吗?感谢您的宝贵时间。

【问题讨论】:

    标签: polymer polymer-1.0


    【解决方案1】:

    我实际上也在使用 ASP.NET Web API 并且没有遇到这个问题。

    问题可能出在这一行 -

    handleResponse: function (jsonFromServer)
    {
        console.log('response from server:', jsonFromServer);
    }
    

    参数不是直接返回值而是整个事件对象。所以也许试试 -

    handleResponse: function (e)
    {
        console.log('response from server:', e.detail.response); // or e.detail.xhr.repsone
    }
    

    【讨论】:

      猜你喜欢
      • 2010-12-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-12
      • 1970-01-01
      • 2023-03-20
      相关资源
      最近更新 更多