使控制器根据请求类型返回HTML或JSON

马可斯

我想知道Grails中是否有一种方法可以返回HTML或JSON,这取决于我对某个动作进行GET还是只是通过Ajax调用一个动作。

例如,如果我对“ controller / action”进行Ajax调用,是否可以返回JSON,并且如果我通过链接转到相同的“ controller / action”,则使其呈现HTML页面?还是我必须定义两个不同的动作?

PawełPiecyk

通常,所有AJAX请求都X-Requested-With设置了标头。您可以检查此标头是否已设置并呈现所需的响应格式:

if (request.getHeader('X-Requested-With')) {
    // render response as JSON
} else {
    // render HTML page
}

或者(如Martin Hauner在评论中指出的那样)使用request.xhr属性基本上相同,并且true如果当前请求是AJAX则返回

if (request.xhr) {
    // render response as JSON
} else {
    // render HTML page
}

request是表示当前请求的对象。在Grails文档中阅读有关它的更多信息。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

指定控制器的返回内容类型

来自分类Dev

根据请求输入从控制器调用表单请求

来自分类Dev

ROR-从控制器请求JSON

来自分类Dev

如何根据 JSON 要求在 Spring REST 控制器中获取请求?

来自分类Dev

无法从控制器返回HTML

来自分类Dev

从 Spring 控制器返回 HTML 页面

来自分类Dev

从Api控制器返回JSON结果

来自分类Dev

从弹簧控制器返回 json 数组

来自分类Dev

MVC 控制器返回 JSON

来自分类Dev

根据参数从任何ASP.NET MVC控制器操作返回JSON

来自分类Dev

@ Html.EditorFor不会将特定类型返回给控制器

来自分类Dev

Laravel - 从表单请求返回变量到控制器

来自分类Dev

返回类型在spring文件下载控制器中的意义

来自分类Dev

返回HttpResponseMessage的控制器未正确设置内容类型

来自分类Dev

API 控制器 Post 方法返回类型/值

来自分类Dev

MVC控制器返回内容与返回Json Ajax

来自分类Dev

根据头类型 Nodejs 返回 HTML 或 JSON

来自分类Dev

AngularJS:输出从控制器返回的HTML,显示HTML代码

来自分类Dev

让Grails控制器处理JSON请求的示例代码

来自分类Dev

Yii 2设置控制器以接受json请求

来自分类Dev

MVC3:jQuery Ajax从控制器返回具有HTML数据类型的部分视图,但出现错误

来自分类Dev

HTML.BeginForm不将值返回给控制器

来自分类Dev

如何使用ajax从控制器返回HTML?

来自分类Dev

从控制器返回的HTML内容中传递模型数据

来自分类Dev

假设Spring MVC控制器中JSON的内容类型

来自分类Dev

假设Spring MVC控制器中JSON的内容类型

来自分类Dev

从MVC控制器返回JSON字符串

来自分类Dev

如何修改从Rails控制器返回的JSON

来自分类Dev

CodeIgniter-如何从控制器返回Json响应

Related 相关文章

热门标签

归档