Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/305.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成功,如何刷新页面_Java_Jquery_Grails_Groovy - Fatal编程技术网

Java 如果呈现保存json成功,如何刷新页面

Java 如果呈现保存json成功,如何刷新页面,java,jquery,grails,groovy,Java,Jquery,Grails,Groovy,内部控制器 if (!surveyMasterAnswerDetailInstance.save(flush: true)) { render([success: false, messages: surveyMasterAnswerDetailInstance.errors] as JSON) return } render([success: true] as JSON) } //鉴于 $(document).on('submit', '#creationO

内部控制器

if (!surveyMasterAnswerDetailInstance.save(flush: true)) {
    render([success: false, messages: surveyMasterAnswerDetailInstance.errors] as JSON)
    return
}    
    render([success: true] as JSON)
}
//鉴于

$(document).on('submit', '#creationOptionsForm', function(e){
  e.preventDefault();

  var form_data = new FormData($('#creationOptionsForm')[0]);

  var formURL = $(this).attr("action");
  $.ajax(
    {
        url : formURL,
        processData: false,
        contentType: false,
        async: false,
        cache: false,
        type: "POST",
        data : form_data,
       success: function(data){
           if(data.success == true){ // if true (1)
               setTimeout(function(){// wait for 5 secs(2)
               location.reload(); // then reload the page.(3)
              }, 5000); 
           }
        }
        ,
        error: function(jqXHR, textStatus, errorThrown)
        {
            //if fails     
        }
    });

   return true
});

完整的工作示例如下:

普惠制指数

<!DOCTYPE html>
<html>
<head>
    <meta name="layout" content="main">
    <script type="text/javascript">
            $(document).on('submit', function(e){
              e.preventDefault();

              $.ajax(
                {
                    url : "${g.createLink(controller:'testStuff', action:'jsonUrl')}",
                    processData: false,
                    contentType: false,
                    async: false,
                    cache: false,
                    type: "POST",
                    data : $('#creationOptionsForm').serialize(),
                    success: function(data, status, jqxhr) {
                        if ( jqxhr.responseJSON.success === true ){
                            setTimeout(function(){
                                location.reload();
                            }, 5000);
                        }
                    }
                    ,
                    error: function(jqXHR, textStatus, errorThrown)
                    {
                        alert( 'Failed' );
                    }
                });
            });
    </script>
</head>
<body>
<div>
    <g:form id="creationOptionsForm">
        <g:textField name="thename" value="${params.thename}" />
        <g:submitButton name="submit" value="submit" />
    </g:form>
</div>
</body>
</html>

显然,上面的条件是荒谬的,但所有的部分都提供了一个例子。

我使用了你的代码,但仍然{“成功”:真的}页面没有重新加载,那么你是否得到了一个错误?尝试将
console.log(errorshown)
添加到错误块并检查日志
import grails.converters.JSON

class TestStuffController {

    def index() {
        println 'index'

    }

    def jsonUrl() {
        if (!true) {
            render([success: false, messages: 'bad stuff'] as JSON)
            return
        }
        render([success: true] as JSON)
    }
}