我开始学习高分子,特别是使用iron从ASP.Net WebAPI服务中检索JSON数据。我可以给服务打个电话,但是我无法得到服务返回的结果。
以下是我的铁-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‘元素本身的详细信息。预期的结果数据从未显示在控制台中。此外,控制台中WebAPI调用的Response选项卡的值为null。控制台中的WebAPI调用下的细节中甚至没有JSON选项卡。
我不知道为什么Net选项卡会像您所期望的那样具有完整和准确的结果,但是Console选项卡会空出,我会得到一个'response‘对象。
我在Chrome上也遇到了同样的情况。
我遗漏了什么?这是配置问题吗?谢谢您抽时间见我。
发布于 2015-10-02 06:46:24
实际上,我也在使用ASP.NET Web,而且还没有遇到过这个问题。
问题可能是这条线-
handleResponse: function (jsonFromServer)
{
console.log('response from server:', jsonFromServer);
}aregument不是直接返回值,而是整个事件对象。所以也许试着-
handleResponse: function (e)
{
console.log('response from server:', e.detail.response); // or e.detail.xhr.repsone
}https://stackoverflow.com/questions/32900826
复制相似问题