jquery - HTML 在同一页面上显示来自服务器的结果
问题描述
我对 HTML 和 AJAX /JQuery 完全陌生。我想显示在form
同一页面上给出的输入结果。下面是代码片段。
<div id = "test">
<form id="ajax-contact" method="post" action="/response/">
<div class="field">
<label for="name">your text here</label>
<input type="text" id="name" name="name" required>
</div>
<div class="field">
<button>Submit</button>
</div>
</form>
</div>
<script
src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js">
</script>
<script>
$(document).ready(function(){
$("button").click(function(){
$.post(
{
type:'POST',
url:$(form).attr('action')
data: $(form).serialize()
},
function(response,status){
alert("Data: " + resp_final + "\nStatus: " + status);
});
});
});
在上面的代码段中,resp_final
是从服务器检索的值,其中response
是执行必要计算/处理的服务器路由。这很好用。但是,结果显示在单独的页面上。我想在同一页面上显示结果。有人可以帮忙吗?
解决方案
将您的代码更改为此
$(document).ready(function(){
$("button").click(function(){
$.ajax({
type: "POST",
url: $(form).attr('action'),
data : $(form).serialize(),
contentType:"application/json",
success: function(data){
alert("Data: " + data.resp_final + "\nStatus: " + data.status);
},
error: function(jqxhr) {
alert(jqxhr.responseText); // errors: 324, 500, 404
}
});
});
});
推荐阅读
- java - 如何通过Java获取服务器响应时间
- javascript - 如何理解节点 js 的以下函数输出
- android - 使用 FFmpeg 在图像上连续播放 gif
- javascript - 使用 Javascript 检索 Google Analytics 跟踪器名称时出现问题
- javascript - Sequelize 和 GraphQL 解析器不可为空的字段
- c++ - 为什么模板参数推导失败?
- sql - 复制/表在 SQL 中保持旧索引不变
- elasticsearch - 如何为弹性搜索聚合内部嵌套对象元素?
- c# - 将字符串从文本框转换为双精度在 C# 中不起作用
- reactjs - 如何防止 Link 搞乱我的单选按钮行为?