我正在使用react-admin
框架,并且已经编写了自己的DataProvider
。我试图实现这一点,当创建用户时,也会创建UserPossession的实例。我的代码如下所示,但是react-admin
Front-end
仅显示警告消息:
Failed to execute 'fetch' on 'Window': Request with GET/HEAD method cannot have body
我检查了开发人员工具中的“网络”选项卡,对服务器的每个请求都是正确的,没有错误。这让我感到困惑和困惑,因为我不知道该警告的含义或什至为什么会发生。
我的代码是convertDataRequestToHTTP
常量的一部分,看起来像这样:
if (resource === 'User') {
url = `${apiUrl}/${resource}`;
options.body = params.data;
httpClient(url, {
method: 'POST',
body: JSON.stringify(options.body),
})
.then(response => (
url = `${apiUrl}/Location`,
options.method = 'POST',
options.body = JSON.stringify({
"odata.type": "HardwareDatabase.UserPossession",
"Name": response.json.Login,
"UserId": response.json.Id
}),
httpClient(url, {
method: options.method,
body: options.body
})
));
}
如果您对我可以澄清的代码有任何疑问。
谢谢您的任何想法。
答案 0 :(得分:0)
由于您要声明此代码段是https://{0}.base.maps.api.here.com/maptile/2.1/maptile/newest/normal.day/{1}/{2}/{3}/256/png8?
的一部分,所以我可能会看到此问题。 convertDataRequestToHTTP
不能在此常量中使用,因为它会创建对API的重复调用,或者在您的情况下会创建此警告。正确的方法是只声明httpClient
常量。
options
稍后将常量从OData转换为强制性React Admin格式的常量,请说明url = `${apiUrl}/${resource}`;
options.body = JSON.stringifiy(params.data);
options.method = 'POST';
。
httpClient