单击一个元素时,我有一个ajax调用fire。 ajax转到控制器。
function(){
$.ajax({
url: "/GAIA/RemoveCE/removeFlow",
type: "get",
data: {id:id},
cache: false,
async: true,
success: function() {
window.location.reload()
},
error: function(xhr) {
console.log("ERROR");
console.log(xhr.readyState);
console.log(xhr.status);
}
});
event.preventDefault();
});
我在此控制器上有一个名为“removeFlow”的动作和一个名为“removeMachine”的动作。
def removeFlow(Long id){
println id
}
def removeMachine(Long id){
println id
}
当调用ajax来触发“removeFlow”时,不会打印任何内容。
当调用ajax触发“removeMachine”时,id正确打印。
在两次调用中收到的错误消息都是404 resoure我不明白,因为我没有实现视图,我没有重定向。我不明白为什么没有打印出来。
这是在grails 2.5.6上运行
编辑:
这是我在开发者控制台上遇到的错误(当点击元素并触发ajax时):
jquery-1.11.1.js?compile = false& encoding = UTF-8:9631获取http://localhost:8080/GAIA/removeCE/removeFlow?id=41&_=1505308707652 404(未找到)
如果我手动输入网址(/ GAIA / removeCE / removeFlow?id = 41),我会得到:
:8080 / GAIA / removeCE / removeFlow?id = 41:1获取http://localhost:8080/GAIA/removeCE/removeFlow?id=41 404(未找到)
答案 0 :(得分:0)
在Groovy操作中,您需要呈现某些内容作为对ajax调用的响应,否则您的调用会成功,但它将返回404错误。 更改您的代码如下。
def removeFlow(Long id){
println id
// render anything string or ( List / Map as Json)
render "Deleted Id:"+id+" successfully"
}
def removeMachine(Long id){
println id
// render anything string or ( List / Map as Json)
render "Deleted Id:"+id+" successfully"
}
//在ajax成功中接收响应
success: function( response) {
console.log(response)
//OR
alert(response);
}
//使用链接taglib
在ajax中获取Urlurl: '<g:createLink controller="removeCE" action="removeFlow"/>'