我正在研究React.js教程,网址为:http ://facebook.github.io/react/docs/tutorial.html
使用AJAX和post方法向页面添加评论时,我得到501 (Unsupported method ('POST'))。
501 (Unsupported method ('POST'))
我知道您无法在本地发送JSON post命令(类似于此问题:angularjs $ http.post导致501 Unsupported method(’POST’)),并且我正在使用python -m SimpleHTTPServer。
python -m SimpleHTTPServer
如何为JSON文件设置Web服务终结点?
如果您在github上查看reactjs / react-tutorial,则有一个使用node.js的示例服务器:
git clone [email protected]:reactjs/react-tutorial.git && cd react-tutorial npm install node server.js
这是server.js文件。
var fs = require('fs'); var path = require('path'); var express = require('express'); var bodyParser = require('body-parser'); var app = express(); var comments = JSON.parse(fs.readFileSync('_comments.json')); app.use('/', express.static(path.join(__dirname, 'public'))); app.use(bodyParser.json()); app.use(bodyParser.urlencoded({extended: true})); app.get('/comments.json', function(req, res) { res.setHeader('Content-Type', 'application/json'); res.send(JSON.stringify(comments)); }); app.post('/comments.json', function(req, res) { comments.push(req.body); res.setHeader('Content-Type', 'application/json'); res.send(JSON.stringify(comments)); }); app.listen(3000); console.log('Server started: http://localhost:3000/'); /** * This file provided by Facebook is for non-commercial testing and evaluation purposes only. * Facebook reserves all rights not expressly granted. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL * FACEBOOK BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */