我有一个按钮,当我点击它时,它会从我的数据库中获取数据,并根据ID显示在我的文本区域。
JQuery的
$('#verifyBtn').on("click", function() {
var exeOutput = checkOutput();
$("outputArea").html(exeOutput);
});
function checkOutput(){
var exNo = parseInt($('#selectExercise').val());
dataString = "exNo=" + exNo;
$("#result").empty();
getOutput(dataString, true);
}
function getOutput(dataStr, flag) {
$.ajax({
url: "/FYP/WebExerciseByOutput",
data: dataStr,
success: function (data) {
return data;
},
error : function (xhr,textStatus,errorThrown){
console.log("Something is wrong with ajax call."+ xhr);
}
});
}
通过我的servlet从我的数据库中获取。
的Servlet
exercisesModel outputModel = null;
try {
DBConnection db = new DBConnection();
outputModel = db.getExerciseById(request.getParameter("exNo"));
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
response.getWriter().append(outputModel.getExpOutput());
编辑:点击后,我认为有数据,但我的文字区域没有显示。
答案 0 :(得分:-1)
这个块在这里:
function checkOutput(){
var exNo = parseInt($('#selectExercise').val());
dataString = "exNo=" + exNo;
$("#result").empty();
getOutput(dataString, true);
}
尝试将return
添加到getOutput
行
function checkOutput(){
var exNo = parseInt($('#selectExercise').val());
dataString = "exNo=" + exNo;
$("#result").empty();
return getOutput(dataString, true);
}
答案 1 :(得分:-1)
通过值我想你的意思是调用的结果。您可以在成功处理程序的参数中找到它。
success: function (data) {
//This is your result from server.
console.log(data);
return data;
}
查看您的JS控制台以查看结果。
答案 2 :(得分:-1)
由于您正在进行异步呼叫,因此您无法使用 return data;
返回即时回复,但您可以通过选择器然后在调用成功回调时将结果分配给输出元素:
<script>
$('#verifyBtn').on("click", function() {
checkOutput("outputArea");
});
function checkOutput(output_selector){
var exNo = parseInt($('#selectExercise').val());
dataString = "exNo=" + exNo;
$("#result").empty();
getOutput(dataString, true, output_selector);
}
function getOutput(dataStr, flag, output_selector) {
$.ajax({
url: "/FYP/WebExerciseByOutput",
data: dataStr,
success: function (data) {
$(output_selector).html( data );
},
error : function (xhr,textStatus,errorThrown){
console.log("Something is wrong with ajax call."+ xhr);
}
});
}
</script>
注意:未使用传递的flag
参数。
希望这有帮助。