2

我的 URLMappings 中有以下映射

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

4

1 回答 1

12

您实际上是在返回结果,而所需的响应是“text/html”或“text/json”

因此,在您的控制器中,您应该render得到结果而不是returning 它;像 :

def addPurchase = {
    def result = cartService.addPurchase(session,params)
    log.debug"Results from addPurchase" + result
    response.status = 200
    render result as JSON
}
于 2012-09-05T06:46:32.000 回答