Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/70.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
Javascript 使用jqueryappend和grailsrotefunction_Javascript_Jquery_Ajax_Grails - Fatal编程技术网

Javascript 使用jqueryappend和grailsrotefunction

Javascript 使用jqueryappend和grailsrotefunction,javascript,jquery,ajax,grails,Javascript,Jquery,Ajax,Grails,在Grails中,remoteFunction的工作方式遇到了问题。我完全理解这是一个AJAX函数,但是我需要它是一个同步调用,而且似乎无法让asynchronous:false选项工作 代码: 当用户在屏幕左侧选择一个项目时,按钮事件会触发该事件。它运行一个服务方法并创建一个新块,将其返回到屏幕。然而,当上面的函数完成时,它重写了右边的div,删除了以前需要它附加新块时的div 如果remoteFunction是异步的,我将如何执行此操作 谢谢 您最好只编写所需的jQuery代码,而不要试图让

在Grails中,remoteFunction的工作方式遇到了问题。我完全理解这是一个AJAX函数,但是我需要它是一个同步调用,而且似乎无法让asynchronous:false选项工作

代码:

当用户在屏幕左侧选择一个项目时,按钮事件会触发该事件。它运行一个服务方法并创建一个新块,将其返回到屏幕。然而,当上面的函数完成时,它重写了右边的div,删除了以前需要它附加新块时的div

如果remoteFunction是异步的,我将如何执行此操作


谢谢

您最好只编写所需的jQuery代码,而不要试图让remoteFunction满足您的需求。一旦我把它从remoteFunction中分离出来,变成了一个直接的AJAX函数,我就让它工作起来了。我很想知道为什么它必须是同步的。现在它不需要是同步的。Grails remoteFunction on success确实
success:function(data,textStatus){jQuery('#right side').html(data)}
当我需要它时
success:function(data,textStatus){jQuery('#right side')。append(data)}
当调用返回时,右边的所有元素都被完全替换。
 function getNewBlock(){
    var id = ${instance.id};
    var $element = $('#elements ul li.selectedAdd');
    $element.removeClass('selectedAdd');
    ${remoteFunction(
        action:'createBlock',
        update:'right-side',
        asynchronous:false,
        params:'\'id=\'+ escape(id)'
    )};
            //NEED TO APPEND THIS NEW BLOCK TO THE LIST OF BLOCKS ALREADY ON THE RIGHT
};