我正在尝试从客户向 Express 提交一个表单,但每次我都会收到如下错误:
Cannot POST /request_method
下面是我正在尝试的代码:
index.html
<form id="wizard-content" method="post">
<label>File</label>
<input type="file" name="some" id="rsome">
<label>Value</label>
<input type="text" name="valSome" id="perfect">
</form>
<button type="submit" id="submit_form">Finish</button>
<script type="text/javascript">
jQuery('#submit_form').click(function() {
if (jQuery(this).text().toLowerCase() === "finish") {
submitForm();
}
});
var submitForm = function(){
var formData = {
'perfect' : $('#perfect').val(),
'rsome' : $('#rsome')[0].files[0]
};
if(formData){
$.ajax({
url : '/request_method',
type : 'POST',
data : formData,
contentType : false,
cache : false,
processData: false,
success : function(response){
console.log(response);
},
error : function(error){
console.log(error);
}
});
}
}
</script>
在expressJs中:
server.js
var express = require('express');
var bodyParser = require('body-parser')
app.use(bodyParser());
.
.
router.post('/request_method', function(req, res){
console.log(req.body);
console.log(req.ip);
});
最佳答案
您的应用
可能未使用您已设置的路由器
。
两种解决方案
1 - 使用您的应用而不是路由器定义路线
app.post('/request_method', function(req, res){
console.log(req.body);
console.log(req.ip);
});
2 - 或使用路由器
在 router.post...
之前添加以下行,这将告诉您的应用程序使用 router
中定义的路由。
app.use('/', router);
关于node.js - NodeJS Ajax 请求失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43998414/