Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何覆盖Rails 2.3中的RJS MIME类型?

如何覆盖Rails 2.3中的RJS MIME类型?
EN

Stack Overflow用户
提问于 2010-02-26 17:43:39
回答 3查看 692关注 0票数 1

我有一个运行Rails 2.3.5的应用程序,其中大部分都有一个JSON API。

一个承包商进来做了一些应用程序的工作,并在几个地方使用了RJS。对于主网站使用RJS的一些控制器操作也需要是API的一部分。

问题是JSON API请求触发RJS响应,这不是我想要的。我希望RJS响应发生在浏览器上,但是当它是一个API请求时(通过使用"application/json“Accept和Content-Type头来区分),那么我希望它只发送API响应。

据我所知,Rails会为任何涉及javascript的MIME类型触发RJS响应。

text/javascript应用程序/json

等。

有没有办法强制RJS只响应text/javascript?或者有没有更好的方法来解决这个问题?

为了更清楚,我的代码看起来像这样:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
def show
  @dashboard = @user.dashboard
  respond_to do |wants|
    wants.html
    wants.json { render :json => @dashboard }
  end
end

问题是,在这个控制器的视图文件夹中也有一个show.rjs模板。当有人点击API时,我希望它呈现json结果,正如我在上面列出的,但它呈现的是show.rjs模板。

如何确保API客户端获得我想要的json结果,同时仍然让RJS模板在网站上为人们呈现?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-03-03 15:12:40

您将需要在mime_types.rb中定义json,然后您应该能够执行以下操作:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
def show 
  @dashboard = @user.dashboard
  respond_to do |format|
    format.html
    format.json {render :json => @dashboard}
    format.js
  end
end

更多信息请点击此处:http://ryanbigg.com/2009/04/how-rails-works-2-mime-types-respond_to/

票数 1
EN

Stack Overflow用户

发布于 2010-02-26 20:29:31

在控制器的操作中,尝试执行以下操作:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
def index
  respond_to do |format|
    format.html # Renders index.html.erb as usual
    format.xml  { render :json => {:name => "raskchanky"}.to_json }
  end
end

根据Rails文档(http://api.rubyonrails.org/classes/ActionController/Base.html),"render :json“将响应的内容类型设置为application/json。

票数 0
EN

Stack Overflow用户

发布于 2010-06-30 17:18:24

你确定你的javascript发送了正确的报头吗?当我做rjs时,我通常是通过响应format.js来实现的。这使得我可以很容易地将json和js响应分开。

通常,我的问题在于确保我的ajax操作实际以正确的格式发送请求。如果有疑问,可以在请求中添加'format':'js‘参数。在jQuery中:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// try to get it to figure out rjs actions by itself
$('a').click(function(e){
  e.preventDefault();
  $.get({
    url: this.attr('href'),
    dataType: 'script',
    success: responseFunction
  });
});

// or force the format
$('a').click(function(e){
  e.preventDefault();
  $.get({
    url: this.attr('href'),
    data: {format: 'js'},
    success: responseFunction
  });
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2343605

复制
相关文章
常见MIME类型
常见MIME类型 按照功能排列的MIME_type类型 类型/子类型 扩展名 application/envoy evy application/fractals fif application/futuresplash spl application/hta hta application/internet-property-stream acx application/mac-binhex40 hqx application/msword doc application/msword dot app
forrestlin
2022/04/02
1.6K0
01_常用的MIME类型
.docx   application/vnd.openxmlformats-officedocument.wordprocessingml.document
shirayner
2018/08/10
1.3K0
[PHP] MIME邮件协议的multipart类型
multipart/mixed可以包含附件。 multipart/related可以包含内嵌资源。 multipart/alternative 纯文本与超文本共存
唯一Chat
2019/09/10
3.3K0
MIME类型:从限定选择文件类型看MIME类型 前后端设置
其实,就是给input指定 媒体类型(通常称为 Multipurpose Internet Mail Extensions 或 MIME 类型 )
周陆军博客
2023/05/07
1.1K0
补习系列-springboot mime类型处理
MIME的全称是Multipurpose Internet Mail Extensions,即多用途互联网邮件扩展,尽管读起来有些拗口,但大多数人可能都知道, 这是HTTP协议中用来定义文档性质及格式的标准。IETF RFC 6838,对HTTP传输内容类型进行了全面定义。 而 IANA(互联网号码分配机构)是负责管理所有标准MIME类型的官方机构。可以在这里)找到所有的标准MIME
美码师
2018/08/27
2.2K0
MIME 类型大全,你值得收藏
【转载请注明出处】:https://blog.csdn.net/huahao1989/article/details/107746738
后端老鸟
2020/08/02
2.5K0
MIME 类型大全,你值得收藏
什么是docx,pptx等的正确MIME类型?[通俗易懂]
以下是HTTP Content Streaming的正确Microsoft Office MIME类型:
全栈程序员站长
2022/07/11
3.1K0
文件下载-文件MIME类型对照表
MIME 类型 MIME (Multipurpose Internet Mail Extensions) 是描述消息内容类型的因特网标准。 MIME 消息能包含文本、图像、音频、视频以及其他应用程序专用的数据。 MIME列表 扩展名 MIME 1 application/octet-stream 323 text/h323 acx application/internet-property-stream ai application/postscript aif audio/x-aiff aifc a
KenTalk
2018/09/11
3.3K0
MIME 是什么以及对于文件类型
MIME 类型 它是HTTP协议中数据类型 英文全称:Multipurpose Internet Mail Extensions 多用途互联网邮件扩展类型 多功能 Internet 邮件扩充服务。 它与某一种文件的扩展名相对应 常见的MIME类型对应表 MIME类型 文件 超文本标记语言(.html .htm ) text/html 普通文本(.txt) text/plain RTF 文本(.rtf) application/rtf GIF 图形(.gif) image/gif JPEG图形(.jpeg .
用户9006224
2022/12/21
7270
【MIME笔记】
MIME的全称是”Multipurpose Internet Mail Extensions”,中译为”多用途互联网邮件扩展”,指的是一系列的电子邮件技术规范,主要包括RFC 2045、RFC 2046、RFC 2047、RFC 4288、RFC 4289和RFC 2077。
全栈程序员站长
2022/07/07
9620
MIME笔记
MIME的全称是"Multipurpose Internet Mail Extensions",中译为"多用途互联网邮件扩展",指的是一系列的电子邮件技术规范,主要包括RFC 2045、RFC 2046、RFC 2047、RFC 4288、RFC 4289和RFC 2077。
ruanyf
2018/09/21
1.1K0
完整的 mime type 列表
G Suite formats and supported export MIME types map to each other as follows:
拿我格子衫来
2022/01/24
9510
如何使用Passenger和Nginx部署Rails
如果您是Ruby on Rails开发人员,可能需要Web服务器来托管您的Web应用程序。本教程将向您展示如何使用Phusion Passenger。作为Rails的Web服务器,Passenger易于安装,配置和维护,可与Nginx或Apache一起使用。在本教程中,我们将在Ubuntu上安装带有Nginx的Passenger。
乌鸦
2018/08/06
5.1K0
如何使用Passenger和Nginx部署Rails
Refused to Execute Script From Because Its MIME Type (Text/plain) Is Not Executable, and Strict MIME
今天又与这个问题相遇了,Orz,还是研究一下解决方法和出现原因吧。 刚刚在github上传了一个js文件,想让这个文件被其他网页引用,于是贴出了这个文件的raw版本的地址。但是却就遇到了这样的问题。
技术小黑屋
2018/09/04
5.6K0
ASP.NET Core使用静态文件、目录游览与MIME类型管理
前言 今天我们来了解了解ASP.NET Core中的静态文件的处理方式. 以前我们寄宿在IIS中的时候,很多静态文件的过滤 和相关的安全措施 都已经帮我们处理好了. ASP.NET Core则不同,因为是跨平台的,解耦了IIS,所以这些工作 我们可以在管道代码中处理. 正文 在我们的Web程序开发中,肯定要提供很多的静态文件(比如:JS,CSS)给客户端下载使用.所以我们先来看看ASP.NET Core中是怎么处理的. 当我们创建一个ASP.NET Core MVC的模版程序后,会发现它与传统的文件结构还是
GuZhenYin
2018/03/30
1.8K0
ASP.NET Core使用静态文件、目录游览与MIME类型管理
rails -help
rails new APP_PATH [选项] //APP_PATH项目名称
不知雨
2018/11/13
2.6K0
在实践中学习类型定义、类型覆盖、CSS Modules
在做一些新的项目时考虑使用 Vite、Vuejs、Less、TypeScript 这些依赖库的构建项目基础,在编写组件时使用 TSX 来获得更好的类型体验,其中在 Less 模块的使用遇到了一个很好解决但初次遇到感觉又无从下手的坑,看我是怎么陷进去的~
前端小鑫同学
2022/12/26
1.7K0
在实践中学习类型定义、类型覆盖、CSS Modules
C - Rails
C - Rails C - Rails #include<cstdio> #include<stack> #include<cstring> using namespace std; int a[1010]; int main() { int n; while (~scanf("%d",&n) && n) { while (1) { stack<int> s; scanf("%d",&a[0]); if (!a[0]) { puts(""); brea
杨鹏伟
2020/09/11
6880
点击加载更多

相似问题

覆盖Rails中的MIME类型

21

rails中的rjs类型错误?

10

RJS for Rails的替代方案

15

Rails RJS AJAX问题

12

Django:如何覆盖用户上传文件的MIME类型?

16
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文