Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 用JSON对象响应AJAX请求?_Java_Json_Ajax_Spark Java - Fatal编程技术网

Java 用JSON对象响应AJAX请求?

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

我正在做一个玩具程序,要求用户在html表单上输入“用户名”和“全名”,表单将由AJAX提交给Spark framework中的以下方法(请参阅:


因此,我请求帮助如何在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

});