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