1

我正在使用以下代码从调用 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
            })
        });

    }
}
4

1 回答 1

0

您是否尝试添加您的授权令牌?标题中的内容如下:

  headers: {
    'Accept': 'application/json',
    'Authorization': token.id,
    'Content-Type': 'application/json'
  }
于 2016-10-11T18:27:35.337 回答