2017-05-02 10 views
1

Reactコンポーネントを更新するために使用しようとしているフォームがあります。私が提出したときに問題を再現しないので、状態は変わっているように見えますが、データは保持されません。もっと重要なのは、私が変更しようとしているjsonオブジェクトが見つからないという404のメッセージが表示されます。ExpressとAxiosでのPUTリクエストは、404(React-Reduxフォームを使用)を続けます。

私は自分のアクシオスのリクエストを自分の行動に使用しようとしているのと関係があると思いますが、これをあまりにも長く見ないと驚くことはありません。ここではここ

関連の一口が

ルートです

const User = db.model('user') 
const router = require('express').Router(); 

router.put('/:id', (req, res, next) => { 
    User.findById(req.params.id) 
    .then(user => user.update(req.body)) 
    .then(updated => res.status(201).json(updated)) 
    .catch(next) 
}) 

アクション

const editUser = (userId, userInfo) => ({ 
    type: UPDATE_USER, 
    userId, 
    userInfo 
}) 

export const updateUser = function(id, info) { 
    return dispatch => { 
    dispatch(editUser(id, info)) 
    axios.put(`/api/users/${id}`, {info}) 
     .catch(err => console.error("Wasn't able to update user.", err)) 
    } 
} 

は私が

を得ているエラーです
POST http://localhost:1337/api/users/1 Wasn't able to update property. 404 (Not Found) 
Error: Request failed with status code 404 
     at createError (createError.js:15) 
     at settle (settle.js:18) 
     at XMLHttpRequest.handleLoad (xhr.js:77) 

そのURIは完全に存在しているので、なぜその要求が別の方法で考えているように見えるのか分かりません。

ご協力いただきましてありがとうございます。

答えて

0

実際にmy dbに情報を送信するには、.thenを使用して余分な行が必要でした。

export const updateUser = function(id, info) { 
     return dispatch => { 
     dispatch(editUser(id, info)) 
     axios.put(`/api/forSale/${id}`, info) 
      .then(res => res.data) 
      .catch(err => console.error("Wasn't able to update property.", err)) 
     } 
    } 
関連する問題