Dojo2中的服务调用

时间:2018-05-30 10:08:16

标签: dojo dojo2

我试图从服务器获取数据并尝试在UI中呈现,但在进行服务调用时,我收到以下错误。

调用服务API:

const json = request('http://localhost:8080/part/findall').then(response => response.json());

错误:

Task.js:243 Uncaught (in promise) SyntaxError: Unexpected token o in JSON at position 1
    at parse (<anonymous>)
    at Task.js:243
    at handler (ExtensiblePromise.js:137)

我从服务器获取数据但是在分配给json时遇到上述错误。你可以帮我解决我的错误。

我的回答Json:

[{"id":485,"orderno":"00605164","type":"typeA","description":"description"},{"id":486,"orderno":"00605164","type":"typeB","description":"description"}]

2 个答案:

答案 0 :(得分:0)

这听起来像是服务器端问题而不是与dojo相关。

我用json示例复制了你的例子:

const json = request('https://jsonplaceholder.typicode.com/posts/1')
            .then(response => response.json());

并且数据很好。

这是完整的例子

import request from '@dojo/core/request';
import xhr from '@dojo/core/request/providers/xhr';

request.setDefaultProvider(xhr);
const json = request('https://jsonplaceholder.typicode.com/posts/1')
  .then(response => response.json())
  .then(data => console.log(data));

虽然xhr是可选的(我猜这是默认值) - 这在浏览器中很好,如果您将xhr替换为node,它在Node.js中运行正常太

您的服务器如何传输JSON - 可能是html? 另外:你的道场版究竟是什么?

有关请求的详细信息,请参阅https://dojo.io https://github.com/dojo/core/tree/master/src/request

答案 1 :(得分:-1)

你有一个数组作为响应,尝试使用     响应[0]上传.json()