[英]Empty request body when using fetch
我正在嘗試使用fetch
進行從 React 組件到 PHP 服務器的 graphql 調用。 這是我第一次嘗試使用fetch
。
我在瀏覽器端使用 React JS,在服務器端使用 Symfony 4。 然而,即使我的瀏覽器開發工具似乎表明數據已發送,我的所有調用都以服務器端的空正文結束。
使用 graphiql 時,請求成功。 我正在盡可能地模仿來自 React 的 graphiql 請求,但主體始終是空白的。
這是電話:
fetch('/api', {
'method': 'post',
'credentials': 'include',
'headers': {
'Content-Type': 'application/json',
},
'body': JSON.stringify({
"query": "mutation {UpdateActionStatus(input: {actionId: 61, status: TO_DO}) { id }}",
"variables": null
}),
}).then(r => {
console.log(r.json());
return r.json();
}).catch(error => {
console.log('There has been a problem with your fetch operation: ', error.message);
});
我曾嘗試與mode
設為cors
, no-cors
, same-origin
, navigate
:沒有這些工作。
我嘗試過 Firefox 和 Chrome:仍然沒有運氣。
將內容類型更改為application/graphql
似乎也不起作用。
在使用fetch
、stackoverflow 和其他地方時,我在響應和請求中看到了許多處理空體的問題,但是找到的解決方案似乎都沒有解決我的問題。
我還嘗試了以下更粗略的調用,但無濟於事。 似乎我根本無法使用 fetch ,原因我無法解釋:
fetch('/api', {
'method': 'post',
'credentials': 'include',
'headers': {
'Content-Type': 'application/x-www-form-urlencoded',
},
'body': 'test=test',
});
該怎么辦? 我在這里錯過了一些簡單的東西嗎?
我現在將 GraphQL 與 React 結合使用,而不是直接使用fetch ,而且大多數情況下效果很好。
確保您正確發送Content-Type
和Accept
標頭。
'Accept': 'application/json',
'Content-Type': 'application/json',
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.