0

我试图使用 jquery 和 ajax 创建一个自动完成字段。我尝试了下面的代码,但它给了我一个错误,即控制器的操作不可用。这是我的外部 .js 文件中的代码:

$(function () {
  $("#inputfield").autocomplete({
    source: '<g:createLink controller="fruit" action="findFruit">'
  });
});

这是我的 Fruit 控制器的代码:

def findFruit = {
  def fruitsearch= Fruit.withCriteria {
    ilike 'fruit', params.term + '%'
  }

  render (fruitsearch?.'fruit' as JSON)
}

我使用 firebug 来查看发生了什么,当我尝试在 texfield 上输入时,它说动作 findFruit 不可用。

我错过了什么吗?还是他们的代码有问题?谢谢

4

1 回答 1

0

由于您的js代码是从外部js文件评估的,因此您应该尝试使用纯js代码而不是 grails 标签(因为它们不起作用)

尝试使用相对路径,例如:

$( "#inputfield" ).autocomplete({
    source: '/app-name/controller/action'
});

看看这是否有效。

于 2012-08-31T05:56:36.550 回答