3

我在这里的第一个问题。

有人对使用 ajax 请求的速记函数有任何问题吗?

这有效:

('#book').typeahead({
    source: function(typeahead, query){
        return $.ajax({
            url: "/book/autocompleteBooks",
            type: "GET",
            dataType: "JSON",
            data: {queryString: query},
            success: function(results){
                typeahead.process(results);
            }
        });
    },
    property: "title",
    onselect: onSelectBook
});

但是这两个都不起作用:

('#book').typeahead({
    source: function(typeahead, query){
        return $.get({
            url: "/book/autocompleteBooks",
            dataType: "JSON",
            data: {queryString: query},
            success: function(results){
                typeahead.process(results);
            }
        });
    },
    property: "title",
    onselect: onSelectBook
});

('#book').typeahead({
    source: function(typeahead, query){
        return $.getJSON({
            url: "/book/autocompleteBooks",
            data: {queryString: query},
            success: function(results){
                typeahead.process(results);
            }
        });
    },
    property : "title",
    onselect: onSelectBook
});

另一件事是替换urlcreateLink也不起作用。

url: "/book/autocompleteBooks"

url: "${createLink(controller: 'book', action: 'autocompleteBooks')}"

我宁愿使用速记函数使代码更易于阅读,基本上是为了美观:)

4

3 回答 3

8

的结构$.get()如下:

$.get(
  "/book/autocompleteBooks",     // url
  {queryString: query},          // data
  function(data) {               // success
    // code
  },
  'json'                         // dataType
);

并且$.getJSON()是:

$.getJSON(
     "/book/autocompleteBooks",   // url
     {queryString: query},        // data
     function(results){           // success
       // code
     }
);

阅读更多关于$.get()$.getJSON()

于 2012-09-15T08:15:03.033 回答
0

请阅读您尝试使用的两种速记方法的文档。他们不接受选项对象作为第一个参数。

于 2012-09-15T08:15:56.387 回答
0

$.ajax() 方法的 $.get() id 简写。但实际上 $.get 的语法是这样的

$.get('ajax/test.html', function(data) {
$('.result').html(data);
alert('加载已执行'); });

其中 $.ajax() 被称为

$.ajax({
url: url,
数据: 数据,
成功: 成功, dataType:dataType });

有关 $.get() 的更多信息,请参阅http://api.jquery.com/jQuery.get/

于 2012-09-15T08:16:15.593 回答