Dojo2中的服务呼叫

lyr7nygr  于 2022-12-16  发布在  Dojo
关注(0)|答案(2)|浏览(192)

我尝试从服务器获取数据并尝试在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"}]
pwuypxnk

pwuypxnk1#

这听起来像是服务器端的问题,与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是可选的(我猜它是默认的)--这在浏览器中很好,如果你用node替换xhr,它在Node.js中也能很好地工作。
您的服务器如何传输JSON -可能是html?另外:你的 dojo 版本到底是什么?
有关https://dojo.io以外的更多请求信息,请参见https://github.com/dojo/core/tree/master/src/request

voj3qocg

voj3qocg2#

您将数组作为响应,请尝试使用response[0].json()

相关问题