Grails中的jQuery Ajax请求

4
如何使用jQuery在Grails页面中进行Ajax请求?
如何设置一个URL,以调用Grails Controller上的方法?比如controller:'机场',action:'getJson'和传递给该动作的输入是'iata'。
我能够设置静态URL为http://localhost:8080/trip/airport/getJson,但无法找到传递iata输入的方法。
我对Grails还比较新,在跟随IBM的“掌握Grails”教程系列。请推荐一些关于在Grails中使用jQuery的好教程。

“input to the action”是什么意思?id?参数值?原始的post body?原始查询? - Igor Artamonov
@IgorArtamonov 这是控制器方法的参数。 - Himanshu Yadav
2个回答

11

使用jQuery中的$.ajax方法

$.ajax({
    url:"${g.createLink(controller:'airport',action:'getJson')}",
    dataType: 'json',
    data: {
        iata: '.............',
    },
    success: function(data) {
        alert(data)
    },
    error: function(request, status, error) {
        alert(error)
    },
    complete: function() {
    }
});

2

It's:

$.ajax({
  url: '/trip/airport/getJson',
  data: {paramName: 'iata'}
});

使用你在操作中期望的参数名称,而不是我使用的paramName


使用链接如/trip/airport...而不是g.createLink是最好的方式吗? - uladzimir
这是针对 .js 文件的唯一方式,对于 gsp 文件,最好使用 g.createLink - Igor Artamonov
但是从gsp加载的js不会被浏览器缓存。什么更合适? :) - uladzimir
你可以使用JS,但是通过GSP配置基本路径(通过window.myAppPath = '${g.createLink(uri: '/')} - Igor Artamonov
谢谢!我不确定使用全局变量是否是最好的方法,但现在我知道如何在js中使用grails标签了。 - uladzimir

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接