2016-08-21 14 views
0

と反応:は、なぜ私はこの中に404を取得しています私はこのようなAJAX要求を介してサーバにフォームに挿入されたデータ送信しようとしていますノード

handleUserSubmit: function(user) { 
    var users = this.state.data; 
    user.id = Date.now(); 
    var newUsers = users.concat([user]); 
    this.setState({data: newUsers}); 
    $.ajax({ 
    url: this.props.url, 
    dataType: 'json', 
    type: 'POST', 
    data: user, 
    success: function(data) { 
     this.setState({data: data}); 
    }.bind(this), 
    error: function(xhr, status, err) { 
     this.setState({data: users}); 
     console.error(this.props.url, status, err.toString()); 
    }.bind(this) 
    }); 
}, 

をレンダリングは、次のように行われます。

ReactDOM.render(
    <UserBox url="../users" pollInterval={2000} />, 
    document.getElementById('data') 
); 

私はこの奇妙なコンソールエラー取得しています:ユーザーにアクセスしようとしていると仮定すると(「ユーザー」ファイルので

POST http://localhost:3000/users 404 (Not Found) 

を。 jsonファイルは1つ上のディレクトリにあります)。コード内で

url: this.props.url, 

: "./users"、 "../users"、 "#/ユーザ" 等...

この行のコードのエラー:私は、可能なすべてのバリエーションを試してみました上記のとおりです。何が起きているのか?

マイNode.jsのコードは次のとおりです。

app.post('/users', function(req, res) { 
    fs.readFile(USERDATA, function(err, data) { 
    if (err) { 
     console.error(err); 
     process.exit(1); 
    } 
    var users = JSON.parse(data); 
    var newUser = { 
     id: Date.now(), 
     firstname: req.body.firstname, 
     lastname: req.body.lastname, 
     address: req.body.address, 
     phonenumber: req.body.phonenumber, 
     email: req.body.email, 
     licensestate: req.body.licensestate, 
     licensenum: req.body.licensenum 
    }; 
    console.log(newUser) 
    users.push(newUser); 
    fs.writeFile(USERDATA, JSON.stringify(users, null, 10),    

function(err) { 
     if (err) { 
     console.error(err); 
     process.exit(1); 
     } 
     res.json(users); 
     }); 
     }); 
    }); 
+1

あなたは404エラーを取得しているサーバーを更新した後の状態を更新します。http '理由:// localhostを:/ users'がオンに存在していない3000サーバー(つまり、ルートフォルダに 'users'というファイルがありません - あなたはwebpack dev-serverを使用していると思います) – Alik

+0

@Alikしかし、それはずっと前に働いていたと思います。ルートフォルダはプロジェクトフォルダかフォルダどのサーバーから実行されますか?私のusers.jsonファイルは、サーバーの実行元のフォルダにあります。 –

+0

'url =" ../ users.json "'を設定しようとしましたか? – Alik

答えて

0

関連する問題