gpt4 book ai didi

ajax - Ajax发布和Grails渲染导致页面刷新

转载 作者:行者123 更新时间:2023-12-02 14:40:45 25 4
gpt4 key购买 nike

因此,我已经设置了以下 Controller :-

def show(Long id) {
def testObjectInstance = TestObject.get(id)

if (!testObjectInstance) {
redirect(action: "list")
return
}

println("show object ID " + testObjectInstance.id)
render(template: "show", model: [testObjectInstance: testObjectInstance])
}

然后,我得到了一个包含以下代码的帖子:-
function loadObject(objID){
var pathPrefix = $("#fullPathPrefix").val();
$.postJSON(pathPrefix + "testObject/show",{id : objID}, function(data) {
$("#rightObjMgtPane").html(data);
});
}

我可以看到所有println都按预期方式显示,并且页面甚至按预期方式呈现,但是由于某些原因突然整个页面刷新了,我无法弄清原因。

我在另一个地方有另一个 Controller ,该 Controller 似乎在工作,它具有完全相同的渲染线,并且工作正常,因此Im不知所措。

最佳答案

尝试使用

$.ajax({
type: 'POST',
url: '/testObject/Show',
data: '{"id":"objID"}',
success: function(data) {
$("#rightObjMgtPane").html(data);
},
contentType: "application/json",
dataType: 'json'
});

代替
function loadObject(objID){
var pathPrefix = $("#fullPathPrefix").val();
$.postJSON(pathPrefix + "testObject/show",{id : objID}, function(data) {
$("#rightObjMgtPane").html(data);
});
}

另一方面,我需要警告您使用:
if (!testObjectInstance) {
redirect(action: "list")
return
}

无论您在testObject / list中的任何位置,都将呈现

关于ajax - Ajax发布和Grails渲染导致页面刷新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37262804/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com