si2*_*030 3 javascript fetch reactjs react-redux
我有一个操作,该操作创建访存以将客户端重新发布回API。
我在“标头”中发送了一个JWT,这本身不是问题,因为它也可以在GET中使用,而GET可以正常工作……但在POST中却没有。这是我的动作:
export const createNewClient = (payload) =>
(dispatch, getState) => {
dispatch({ type: REQUEST_CREATE_NEW_CLIENT, payload })
const jwt = getJwt()
if (!jwt) {
throw new Error('No JWT present')
}
const token = jwt.access_token
const headers = new Headers({
'Authorization': `bearer ${token}`
})
debugger
const task = fetch('/api/client/create', {
method: 'POST',
body: JSON.stringify(payload),
headers,
})
.then(handleErrors)
.then(response => response.json())
.then(data => {
dispatch({ type: RECEIVE_CREATE_NEW_CLIENT, payload: data })
dispatch({
type: SAVE_MESSAGE, payload: {
message: "Successfully saved client",
type: 'success'
}
})
})
.catch(error => {
//clearJwt()
dispatch({ type: ERROR_CREATE_NEW_CLIENT, payload: error.message })
dispatch({ type: SAVE_MESSAGE, payload: { message: error.message, type: 'error' } })
})
addTask(task)
return task
}
Run Code Online (Sandbox Code Playgroud)
我试图修改标头以包括UTF-8,如下所示。
headers: {
'Content-Type': 'application/json;charset=UTF-8'
},
Run Code Online (Sandbox Code Playgroud)
但是,这给了我401未经授权,这意味着使用它是正确的媒体类型,但现在将不被接受。
相同的JWT在Fetch GET命令中可以正常工作,因此JWT本身不是问题-我相信这可能是我编写“ Fetch”的方式。
现在我在邮递员中做同样的事情,但我并没有通过此Fetch ...
我为Fetch POST错过了什么或结构不正确,以便接受JWT等
如果按提供的图像工作

然后以下将工作
fetch('/api/client/create', {
method: 'POST',
body: JSON.stringify(payload),
headers: {
'Authorization': `bearer ${token}`,
'Content-Type': 'application/json',
}
})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5301 次 |
| 最近记录: |