Grails 控制器返回404错误,即使其返回结果
我的URLMappings中有以下映射Grails 控制器返回404错误,即使其返回结果,grails,Grails,我的URLMappings中有以下映射 addPurchase:"/addPurchase" { controller = "cart" action = "addPurchase" } 我从我的GSP打了一个AJAX电话 function addPurchase(purchaseJSON, amount) { $.ajax({ url: 'addPurchase',
addPurchase:"/addPurchase" {
controller = "cart"
action = "addPurchase"
}
我从我的GSP打了一个AJAX电话
function addPurchase(purchaseJSON, amount) {
$.ajax({
url: 'addPurchase',
data: {
purchase: purchaseJSON
// quantity: amount
},
type : "POST",
complete:function(data) {
updateCart();
updateOrderSummary(data);
}
});
}
我的控制器代码是
def addPurchase = {
def result = cartService.addPurchase(session,params)
log.debug"Results from addPurchase" + result
response.status = 200
return result as JSON
}
尽管我在控制台中看到了输出,但我的浏览器中还是出现了404错误。为什么会这样?我的grails版本是@1.3.7您实际上返回的是一个结果,而所需的响应是“text/html”或“text/json” 因此,在控制器中,您应该
呈现
结果,而不是返回
结果;比如:
def addPurchase = {
def result = cartService.addPurchase(session,params)
log.debug"Results from addPurchase" + result
response.status = 200
render result as JSON
}
首先是什么?浏览器错误或控制台结果?就是这样。我想我并没有太注意,我认为呈现和返回应该是一样的。上面的解决方案只是返回一个JSON在客户端进行解析。但更好的方法是根据URLMapping将非AJAX重定向到standard/notFound页面。