✅问题:Rails.ajax自定义请求
chatroom.coffee中的js代码:
document.addEventListener 'turbolinks:load', ->
document.getElementById("new_message").addEventListener "keypress", (e) ->
if e && e.keyCode == 13
e.preventDefault();
this.submit();
return
return
MessagesController的action方法
def create
message = @chatroom.messages.new(message_params)
message.user_id = current_user.id
message.save
end
在/chatroom/1中的输入框回车后,jS代码请求是成功的,但是是302。同时跳到了问题界面:
MessagesController#create is missing a template for this request format and variant. request.formats: ["text/html"] request.variant: []
log:
Started POST "/chatrooms/1/messages" for 127.0.0.1 at 2018-07-17 17:45:15 +0800
Processing by MessagesController#create as HTML
...在message 已经commit后,提示:
Completed 406 Not Acceptable in 38ms (ActiveRecord: 1.7ms)
请求实际已经处理,但提示406表示请求的资源的内容特性无法满足请求头中的条件,因而无法生成响应实体,该请求不可接受。
因为create方法并没有给一个response的返回方法redirect_to.
另外请求不是一个Javascript 请求。也奇怪,应该是js请求才对。
没有有效请求。submit()有bug。
使用Rails.ajas自定义请求:
url = this.action
# Rails.serializeElement()是一个UJS脚本方法。或者使用传统的FormData(this)
data = new FormData(this)
# data = Rails.serializeElement(this)
Rails.ajax({
type: "POST"
url: url
data: data
dataType: "json"
})
✅问题:Rails.ajax自定义请求的更多相关文章
- Ajax设置自定义请求头的两种方法
用自定义请求头token为例 方法一 $.ajax({ type: "post", url:"http://127.0.0.1:4564/bsky-app/templat ...
- Springboot如何优雅的解决ajax+自定义headers的跨域请求
1.什么是跨域 由于浏览器同源策略(同源策略,它是由Netscape提出的一个著名的安全策略.现在所有支持JavaScript 的浏览器都会使用这个策略.所谓同源是指,域名,协议,端口相同.),凡是发 ...
- Springboot如何优雅的解决ajax+自定义headers的跨域请求[转]
1.什么是跨域 由于浏览器同源策略(同源策略,它是由Netscape提出的一个著名的安全策略.现在所有支持JavaScript 的浏览器都会使用这个策略.所谓同源是指,域名,协议,端口相同.),凡是发 ...
- [整理]Ajax Post请求下的Form Data和Request Payload
Ajax Post请求下的Form Data和Request Payload 通常情况下,我们通过Post提交表单,以键值对的形式存储在请求体中.此时的reqeuest headers会有Conten ...
- ✅问题:Rails.ajax的data不支持{}hash格式。必须使用string。 dataType的格式。
Rails.ajax({ url: url, type: "PATCH", data: {"post":{"category_id":thi ...
- ajax添加请求头(添加Authorization字段)
我们在发AJAX请求的时候可能会需要自定义请求头,在jQuery的$.ajax()方法中提供了beforeSend属性方便我们进行此操作. beforeSend: function(request) ...
- 黑马eesy_15 Vue:03.生命周期与ajax异步请求
黑马eesy_15 Vue:02.常用语法 黑马eesy_15 Vue:03.生命周期 黑马eesy_15 Vue:04.Vue案例(ssm环境搭建) vue的生命周期与ajax异步请求 1.Vue的 ...
- ajax异步请求
做前端开发的朋友对于ajax异步更新一定印象深刻,作为刚入坑的小白,今天就和大家一起聊聊关于ajax异步请求的那点事.既然是ajax就少不了jQuery的知识,推荐大家访问www.w3school.c ...
- Ajax --- 数据请求
下面主要介绍(JS原生)数据请求的主要步骤: Ajax 数据请求步骤: 1.创建XMLHttpRequest对象 2.准备数据发送 3.执行发送 4.指定回掉函数 第一步:创建XMLHttpReque ...
随机推荐
- Oracle Schema Objects——Synonyms
Oracle Schema Objects 同义词 同义词 = 表的别名. 现在假如说有一张数据表的名称是“USER1.student”,而现在又为这张数据表起了一个“USER1”的名字,以后就可以直 ...
- Linux设置程序开机启动-tomcat开机启动
假设我有一个tomcat应用需要开机启动. 前提你的JAVA环境变量已经配置好没有问题,检测方法如图 然后找到tomcat的目录,我的目录是 /home/yuqing_4.0/tomcat_share ...
- js基础面试高频面点1:变量提升
一.什么是变量提升?var变量提升的底层原理是什么? 变量提升的定义:所有变量的声明语句都会被提升到代码头部,这就是变量提升. 原理:引擎在读取js代码的过程中,分为两步,专业来说代码运行是分为预处理 ...
- 8.python中双冒号(::)的用法
s[i:j:k]是,根据该“片第从i到j与第k步”.何时i和j缺席,整个序列是和s[::k]意思是“每k个项目”. 示例 首先,让我们来初始化一个列表: >>> s = range( ...
- laravel常用的artisan命令
转载来源链接: https://blog.csdn.net/jiandanokok/article/details/72897682 全局篇 查看artisan命令 php artisan php a ...
- jsoup做http接口测试
本文转载张飞的博客http://www.cnblogs.com/zhangfei/p/4359408.html在此感谢博主的分享! 最早用Jsoup是有一个小的爬虫应用要写,发现Jsoup较HttpC ...
- 前端基础(CSS)
CSS 语法 .clearfix:after{ content: ""; display: block; clear: both; } 解决 float 块之后的塌陷(后面增加了一 ...
- Spring笔记一
什么是Spring spring (由rod johnson创建的一个开源框架) spring是一个开源框架,spring是于2003 年兴起的一个轻量级的java 开发框架,由rod johnson ...
- 文件上传—SSM框架文件上传
1.准备上传下载的api组件 <dependency> <groupId>commons-io</groupId> <artifactId>common ...
- Java面试:投行的15个多线程和并发面试题
多线程和并发问题已成为各种 Java 面试中必不可少的一部分.如果你准备参加投行的 Java 开发岗位面试,比如巴克莱银行(Barclays).花旗银行(Citibank).摩根史坦利投资公司(Mor ...