Java 用JSON对象响应AJAX请求?
我正在做一个玩具程序,要求用户在html表单上输入“用户名”和“全名”,表单将由AJAX提交给Spark framework中的以下方法(请参阅:Java 用JSON对象响应AJAX请求?,java,json,ajax,spark-java,Java,Json,Ajax,Spark Java,我正在做一个玩具程序,要求用户在html表单上输入“用户名”和“全名”,表单将由AJAX提交给Spark framework中的以下方法(请参阅: 因此,我请求帮助如何在Spark中将JSON对象返回到AJAX请求?谢谢您确实意识到您正在提交表单。因此,表单将被提交,因此结果页面将被提交,而不是假定的AJAX调用 因此,您应该通过简单地添加 event.preventDefault(); 或者在提交处理程序的末尾返回false <script> $(document
因此,我请求帮助如何在Spark中将JSON对象返回到AJAX请求?谢谢您确实意识到您正在提交表单。因此,表单将被提交,因此结果页面将被提交,而不是假定的AJAX调用 因此,您应该通过简单地添加
event.preventDefault();
或者在提交处理程序的末尾返回false
<script>
$(document).ready(function() {
$('#registerForm').submit(function(event) {
event.preventDefault();
var formData = $('#registerForm').serialize(); /* capture the form data*/
$.getJSON('/admin/user/signup', formData, registerResults);
// $.post('/admin/user/signup', formData, registerResults); /* get JSON back from the post method */
});
function registerResults(data) {
$('#registerForm').fadeOut();
$('.starter-template').html(data.message);
} // end of registerResults
}); // end of ready
</script>
在表单提交处理程序中
<script>
$(document).ready(function() {
$('#registerForm').submit(function(event) {
event.preventDefault();
var formData = $('#registerForm').serialize(); /* capture the form data*/
$.getJSON('/admin/user/signup', formData, registerResults);
// $.post('/admin/user/signup', formData, registerResults); /* get JSON back from the post method */
});
function registerResults(data) {
$('#registerForm').fadeOut();
$('.starter-template').html(data.message);
} // end of registerResults
}); // end of ready
</script>
$(文档).ready(函数(){
$('#registerForm')。提交(函数(事件){
event.preventDefault();
var formData=$('#registerForm')。serialize();/*捕获表单数据*/
$.getJSON('/admin/user/signup',formData,registerResults);
//$.post('/admin/user/signup',formData,registerResults);/*从post方法获取JSON*/
});
函数注册表结果(数据){
$('#registerForm').fadeOut();
$('.starter template').html(data.message);
}//注册表结束结果
})//ready结束
不能使用HTML()函数将json视为HTML,需要使用jQuery中的parseJson()函数对其进行解析:
而不是
返回新的MyMessage(“成功注册!”);
只需像这样传递返回新的MyMessage(registerResults);
现在,您不会返回此registerResults
map值。我希望您使用的是play框架,这样它就可以工作了 还有一件事,你应该拒绝表单的提交
$('#registerForm').submit(function(e) {
e.preventDefault();
// do your stuff here
});
使用getJSON消除了使用Parse的必要性。
<script>
$(document).ready(function() {
$('#registerForm').submit(function(event) {
event.preventDefault();
var formData = $('#registerForm').serialize(); /* capture the form data*/
$.getJSON('/admin/user/signup', formData, registerResults);
// $.post('/admin/user/signup', formData, registerResults); /* get JSON back from the post method */
});
function registerResults(data) {
$('#registerForm').fadeOut();
$('.starter-template').html(data.message);
} // end of registerResults
}); // end of ready
</script>
var obj = jQuery.parseJSON(data);
$('.starter-template').html(obj.message);
$('#registerForm').submit(function(e) {
e.preventDefault();
// do your stuff here
});