Jquery Nodejs和Expressjs发送ajax post请求
我在发送post数据时遇到问题http://localhost:1111/user/create. 我使用Expressjs框架和Redis作为我的数据库。主要问题是它没有在我的客户端中获取文本框的值,并且在发送post数据之后,redis中所有字段的值都没有定义。我不知道这里出了什么问题,但这是我的代码: server.js中的app.post 以下是关于如何发送post数据的jquery:Jquery Nodejs和Expressjs发送ajax post请求,jquery,ajax,node.js,express,redis,Jquery,Ajax,Node.js,Express,Redis,我在发送post数据时遇到问题http://localhost:1111/user/create. 我使用Expressjs框架和Redis作为我的数据库。主要问题是它没有在我的客户端中获取文本框的值,并且在发送post数据之后,redis中所有字段的值都没有定义。我不知道这里出了什么问题,但这是我的代码: server.js中的app.post 以下是关于如何发送post数据的jquery: <script type="text/javascript">
<script type="text/javascript">
$("#createbutton").submit(function(event) {
event.preventDefault();
var data = {};
data.name = $('#nameinput').val();
data.email = $('#emailinput').val();
data.username = $('#usernameinput').val();
data.password = $('#passwordinput').val();
JSON.stringify(data);
console.log(data);
$.ajax({
type: 'POST',
url: 'http://localhost:1111/user/create',
data: {data},
dataType: 'application/json',
success: function(data) {
console.log('success');
console.log(data);
}
});
});
</script>
我已经检查了客户端和服务器,但我无法找出错误是什么。提前感谢各位。我不了解expressjs,但您可以尝试更改以下数据类型:
dataType: 'application/json'
致:
您的数据变量错误,请将js代码更改为下面的代码,然后重试一次:
<script type="text/javascript">
$("#createbutton").submit(function(event) {
event.preventDefault();
var data = {};
data.name = $('#nameinput').val();
data.email = $('#emailinput').val();
data.user = $('#usernameinput').val();
data.pass = $('#passwordinput').val();
$.ajax({
type: 'POST',
url: 'http://localhost:1111/user/create',
data: data,
dataType: 'application/json',
success: function(data) {
console.log('success');
console.log(data);
}
});
});
</script>
看起来您在数据中发送了错误的参数,并在服务器中以错误的名称访问它。让我们看看您的jquery代码是否不正确。您可以发送html代码吗?不需要客户端,但是如果您在表单中以与变量和bodyparser相同的方式指定了输入字段的名称,那么就不需要使用ajax从客户端发送内容。Bodyparser初始化服务器端的所有内容,您可以直接在客户端使用req.body
dataType: 'json'
<script type="text/javascript">
$("#createbutton").submit(function(event) {
event.preventDefault();
var data = {};
data.name = $('#nameinput').val();
data.email = $('#emailinput').val();
data.user = $('#usernameinput').val();
data.pass = $('#passwordinput').val();
$.ajax({
type: 'POST',
url: 'http://localhost:1111/user/create',
data: data,
dataType: 'application/json',
success: function(data) {
console.log('success');
console.log(data);
}
});
});
</script>
app.use(express.bodyParser());