无法从HTML / AJAX将数据发送到Node.js,我具有要发送到Node服务器的变量selectValue。在使用数据时:{ selectValue: selectValue}
无济于事。
index.html
<script type="text/javascript">
$(document).ready(function(){
var selectElement = document.getElementById('selectDetails');
var selectValue='';
$.ajax({
url: "http://localhost:8070/api/route1",
type: 'POST',
dataType:'json',
success: function(res) {
console.log(res);
console.log(res.content);
$.each(res.content, function(key,value) {
console.log(value);
selectElement.options[selectElement.options.length] = new Option(value.hostname+":"+value.port);
});
$("#myButton").click(function(){
var selectValue = document.getElementById("selectDetails").value;
console.log(selectValue);
});
},
data: { selectValue: selectValue}
});
});
</script>
app.js
router.post('/route1', function(req, res){
var selValue= req.body.selectValue;
console.log("Select Value"+selValue);
});
console.log("Select Value"+selValue);
给出未定义的值。如何将selectValue的值发送到我的节点服务器。
答案 0 :(得分:1)
在伪代码中,您需要执行以下操作:
@GET
@Path("/lp/by-group/{id}")
@RolesAllowed({"ADMINISTRATOR"})
public Multi findByGroupId(@PathParam Long id) {
return userService.longPoolingByGroupId(id);
}
答案 1 :(得分:0)
这应该移出帖子/ XHR回调:
$("#myButton").click(function(){
var selectValue = document.getElementById("selectDetails").value;
console.log(selectValue);
});
现在您要发送空字符串'';到服务器,然后在调用处理程序中编辑另一个名为“ selectValue”的变量的值。内部的selectValue变量遮盖了原始值,但是原始值永远不会改变。
类似的东西可能起作用
<script type="text/javascript">
$(document).ready(function(){
var selectElement = document.getElementById('selectDetails');
var selectValue='foo';
$("#myButton").click(function(){
// NO VAR HERE, TO NOT SHADOW THE OUTER VARIABLE
selectValue = document.getElementById("selectDetails").value;
console.log('1', selectValue);
$.ajax({
url: "http://localhost:8070/api/route1",
type: 'POST',
dataType:'json',
data: {selectValue: selectValue},
success: function(res) {
console.log(res);
console.log(res.content);
}
});
});
</script>
答案 2 :(得分:0)
请注意,您的网址是:“ http://localhost:8070/api/monitor” 并在您的app.js文件中尝试发布到/ route1