我正在使用以下代码从调用 express POST 端点的 react/redux 应用程序发送 ajax 请求。
我很确定问题不在服务器端,因为我已经用 Postman 测试了这个端点并且它工作正常。所以这是我在客户端使用的代码,它{message: "Missing credentials"}
从护照身份验证返回......再次,在服务器上没有问题......我正确使用bodyparser,注销req.body.email
并且req.body.password
- 它们使用邮递员正确打印,但是使用带有以下代码的 isomorphic-fetch 启动此调用正在req.body
服务器上打印以下内容...
{ '------WebKitFormBoundaryKtn3SHumfq4YBeZ1\r\nContent-Disposition: form-data; name': '"email"\r\n\r\ntest@domain.com\r\n------WebKitFormBoundaryKtn3SHumfq4YBeZ1\r\nContent-Disposition: form-data; name="password"\r\n\r\ntestPassword\r\n------WebKitFormBoundaryKtn3SHumfq4YBeZ1--\r\n' }
import fetch from 'isomorphic-fetch'
import FormData from 'form-data'
export function signup(payload) {
return (dispatch) => {
let formData = new FormData()
formData.append('email',payload.email)
formData.append('password',payload.password)
fetch(`${baseURL}/signup`, {
method: 'post',
body: formData,
headers: new Headers({
'content-type': 'application/x-www-form-urlencoded; charset=utf-8',
'Accept': 'application/json, application/xml, text/plain, text/html, *.*'
}),
})
.then((res) => res.json())
.then((res) => {
console.log('Fetch signup result:',res)
console.log('dispatch:',dispatch)
dispatch({
type : Auth_Actions.SignUp_Success,
userObject : res
})
})
.catch((err)=>{
console.error('Fetch signup ERROR:',err)
dispatch({
type : Auth_Actions.SignUp_Fail,
userObject : err
})
});
}
}