Play 中如何使用 Ajax本章译者:@freewind Play在内部使用了 jQuery 这个JavaScript库,让我们能够非常方便的进行Ajax操作。同时,为了能在JavaScript中方便地生成某个action对应的Url,Play还提供了一个 配合jQuery使用jsAction标签在play的页面中,如果我们想取得某action对应的url,通常不会直接写出一个url,而是像Java那样写成一个函数调用,由Play解析并生成。这么做的好处是,可以让Play检查我们的调用有没有错,不会产生错误的URL。 举例说明,我们在routes文件中,定义了以下的一个route:
其中,
注意,参数值必须指定好。最终我们将得到一个这样的URL:
但有些时候,参数值无法事先确定。比如我们想在JavaScript中,利用Ajax的方法访问这个URL,而参数值是根据由用户输入的,怎么办?
先写一段完整些的例子:
在本例中,我们使用了
将生成以下内容:
可以看到,它的原理非常简单:构造一个url,里面有一些占位符,将会被替换为真实的数据。 所以后面的 如果我们不使用 另外, 最终,这段代码发送的请求如下:
返回值将会是一些HTML代码,这些代码将会替换掉 除了HTML,jQuery还可以处理JSON或XML类型的返回值。我们只需要在对应的controller中,使用不同的render方法即可(如renderJSON, renderXML, 或者直接使用render去处理一个XML模板)。 有关jQuery的详细信息,可参考 jQuery 官方文档。 另外,如果我们需要发送一个POST请求,可以使用以下的代码:
|
|
来自: 用勿龍潛 > 《play!framework》