Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法使jQuery的ajaxSuccess()工作

无法使jQuery的ajaxSuccess()工作
EN

Stack Overflow用户
提问于 2016-03-08 17:40:11
回答 3查看 92关注 0票数 1

我正在用Rails编写一个非常简单的todo应用程序。

查看:

代码语言:javascript
运行
AI代码解释
复制
h2 Your todos
ul#todo_list
  = render @todos
hr
  h4 Add new
  = form_for(Todo.new, url: {action: 'create'}, remote: true) do |form|
    = form.text_field :text
    = form.submit 'Add'

CoffeeScript:

代码语言:javascript
运行
AI代码解释
复制
class Todo
  constructor: () ->
    @bindEvents()

  bindEvents: () =>
    console.log 'test1'
    $(document).ajaxSuccess(@onAjaxSuccess)

  onAjaxSuccess: (event, xhr, settings) ->
    console.log 'test2'
    $('#todo_list').append(xhr)

  @isPresent: (element_id) ->
    $("##{element_id}").length > 0

$(()->
  new Todo if Todo.isPresent('todos')
)

当我创建一个新的待办事项时,test1会打印在控制台中。我得到了200条正确的回应。不触发@onAjaxSuccess()方法(未打印test2)。为什么?

更新:

我刚刚读到jquery-ujs会触发ajax:success事件,所以我也尝试过:

代码语言:javascript
运行
AI代码解释
复制
bindEvents: () =>
  console.log 'test1'
  $('#new_todo').on('ajax:success', @onAjaxSuccess)

还是不起作用。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-03-11 03:06:36

问题是,没有触发'ajax:success',而是在xhr中返回html元素的'ajax:error.',jQuery试图将其解析为JSON (提示:绑定到'ajax:complete',并查看您得到了哪些错误)。

解决方案-更改表单的数据类型:

代码语言:javascript
运行
AI代码解释
复制
= form_for(Todo.new, url: {action: 'create'}, remote: true, html: { data: {type: :html} }) do |form|
    = form.text_field :text
    = form.submit 'Add'
票数 0
EN

Stack Overflow用户

发布于 2016-03-08 17:51:17

这个

代码语言:javascript
运行
AI代码解释
复制
@onAjaxSuccess: (event, xhr, settings) ->

应该是

代码语言:javascript
运行
AI代码解释
复制
onAjaxSuccess: (event, xhr, settings) ->

以便将其添加到prototype中,并且可以使用this进行访问。

票数 1
EN

Stack Overflow用户

发布于 2016-03-08 17:56:01

注意,还没有尝试过coffeescript

ajax请求是在javascript上提出的吗?

.ajaxSuccess()的第二个参数是jqXHR对象。当将对象作为参数传递时,append()似乎不会抛出错误,但不会将对象作为字符串附加到元素中。

代码语言:javascript
运行
AI代码解释
复制
var obj = {"abc":"123"};
$("body").append(obj);

如果ajax请求是由在form提交的form.submit?发出的,那么您应该能够使用$("#todo_list").append(xhr.responseText)将ajax请求的响应附加到元素。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35881402

复制
相关文章
如何在CDSW上运行TensorFlow
温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。 Fayson的github:https://github.com/fayson/cdhproject 提示:代码块部分可以左右滑动查看噢 1.文档编写目的 前面Fayson也介绍了CDSW的安装及CDSW使用的一些知识,本篇文章主要介绍如何在CDSW平台上运行一个TensorFlow的示例,在学习本章知识前,你需要知道以下知识: 《如何在Windows Server2008搭建DNS服务并配置泛域名解析》 《如何利用Dnsmasq构建小型集群的
企鹅号小编
2018/02/02
1.6K0
如何在CDSW上运行TensorFlow
如何在CDSW上运行TensorFlow
前面Fayson也介绍了CDSW的安装及CDSW使用的一些知识,本篇文章主要介绍如何在CDSW平台上运行一个TensorFlow的示例,在学习本章知识前,你需要知道以下知识:
Fayson
2018/03/29
1.4K0
[C# 开发技巧]如何防止程序多次运行
最近发现很多人在论坛中问到如何防止程序被多次运行的问题的,如: http://social.msdn.microsoft.com/Forums/zh-CN/6398fb10-ecc2-4c03-ab25-d03544f5fcc9, 所以这里就记录下来,希望给遇到同样问题的朋友有所参考的,同时也是对自己的一个积累。在介绍具体实现代码之前,我们必须明确解决这个问题的思路是什么的?下面只要分享我的一个思考的这个问题的方式:
乔达摩@嘿
2020/09/11
2K0
[C# 开发技巧]如何防止程序多次运行
如何在 Bash 中编写函数
在编程时,实际上是在定义要由计算机执行的 过程(procedure)或 例程(routine)。一个简单的类比是将计算机编程与烤面包进行比较:你一次列出了要组建工作环境的配料,然后列出了烤面包所必须采取的步骤。在编程和烘烤中,必须以不同的间隔重复执行某些步骤。例如,在烤面包中,这可能是酵母培养的过程:
用户1880875
2021/09/15
2.1K0
如何在 Bash 中编写函数
在编程时,实际上是在定义要由计算机执行的 过程(procedure)或 例程(routine)。一个简单的类比是将计算机编程与烤面包进行比较:你一次列出了要组建工作环境的配料,然后列出了烤面包所必须采取的步骤。在编程和烘烤中,必须以不同的间隔重复执行某些步骤。例如,在烤面包中,这可能是酵母培养的过程:
用户1880875
2021/09/16
2.1K0
如何在Bash中编写循环?
人们想要学习Unix shell的一个常见原因是释放批处理的功能。如果要对许多文件执行某些操作,一种方法是构造一个遍历这些文件的命令来实现。在编程术语中,这称为执行控制,最常见的示例之一是for循环。
用户6543014
2020/02/21
2.7K0
如何在PyCharm中配置Tensorflow环境[通俗易懂]
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/174880.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/27
7130
如何在Windows中运行bash
当微软宣布,将在Windows10上面支持bash时,所有的Unix命令行用户都为之雀跃了。上周三,微软发布了一个测试版本,开始支持了这项功能。 为了运行bash,首先要进行几步操作。首先,需要获得Windows10的build 14316。 安装内测版本之后,用户需要切换到开发者模式,从设置>更新(Settings > Updates),安全>开发者(Security > For Developers)打开新的设置页面,选择“Windows Subsystem for Linux (Beta)”,重启
CSDN技术头条
2018/02/11
4K0
如何在Windows中运行bash
编写TensorFlow文档
该文对TensorFlow中的图像像素操作进行了介绍,包括读取和保存像素值,以及将像素值转换为其他类型。同时,文章还解释了如何使用这些操作来执行图像转换和增强操作,并提供了示例代码。
片刻
2018/01/05
1.1K0
如何在CUDA中为Transformer编写一个PyTorch自定义层
首先,我们需要对一种深度学习模型很熟悉,这样我们就可以找到其性能瓶颈,并查看在我们进行了优化之后有多大的提升。我们可以使用内置的 PyTorch 分析器,也可以使用通用的 python 分析器。我们将同时考察这两种方法。
机器之心
2019/04/29
2K0
如何在CUDA中为Transformer编写一个PyTorch自定义层
如何在 OpenShift 中运行 Collabora Office
近期在尝试 office 文档在线编辑和预览的一些解决方案, 目前在使用Collabora Office, 但是Collabora的docker镜像在OpenShift中运行不起来, 一直提示Operation not permitted.
东风微鸣
2022/04/21
1.2K0
如何在 OpenShift 中运行 Collabora Office
如何在Docker容器中运行Docker [3种方法]
/var/run/docker.sock是默认的Unix套接字。套接字用于在同一主机上的进程之间进行通信。Docker守护程序默认情况下侦听docker.sock。如果您在运行Docker守护程序的主机上,则可以使用/ var/run/docker.sock管理容器。
DevOps云学堂
2020/09/14
27.8K0
如何在Docker容器中运行Docker [3种方法]
如何在Node.js中编写和运行您的第一个程序
Node.js是一个流行的开源运行时环境,可以使用V8 JavaScript引擎在浏览器外部执行JavaScript,该引擎与用于支持Google Chrome Web浏览器JavaScript执行的引擎相同。 Node运行时通常用于创建命令行工具和Web服务器。
用户2323866
2021/06/18
9.1K0
spring单元测试运行多次
spring-test框架丰富了junit测试,本文要谈的内容就是spring-test框架里面的Repeat注解,该注解完成的操作就是指定某个单元测试方法执行多次,具体用法如下:
johnhuster的分享
2022/03/28
6600
BI为什么我的查询运行多次?
连接器可以出于各种原因对数据源进行多次调用,包括元数据、结果缓存、分页等。 此行为是正常的,旨在以这种方式工作。
冬夜先生
2022/09/09
5.7K0
如何在Python程序中运行Unix命令
Unix是由Ken Thompson和Dennis Ritchie在1969年左右在AT&T贝尔实验室开发的操作系统。 我们可以使用许多有趣的Unix命令来执行不同的任务。 问题是,我们可以直接在Python程序中使用此类命令吗? 这就是我将在本教程中向您展示的内容。
全栈程序员站长
2022/08/25
2K0
如何在小程序wxml文件中编写js代码
WXS(WeiXin Script)是小程序的一套脚本语言,结合 WXML,可以构建出页面的结构。 wxs可以说就是为了满足能在页面中使用js存在的,在wxml页面中,只能在插值{{ }}中写简单的js表达式,而不能调用方法,例如直接在wxml页面中直接保留数据的小数点的后两位。 通常的解决办法是在page的data对象中先把这个数据截赋给某个变量,然后在页面中使用这个变量,但是问题又来了,如果变量多了呢,是不是要定义很多次。
honey缘木鱼
2018/08/22
4K0
如何在小程序wxml文件中编写js代码
点击加载更多

相似问题

为多次运行优化Tensorflow

17

tensorflow摘要-编写多个图

12

在TensorFlow中存储一个摘要编写器的多次运行的建议做法是什么?

20

在tensorflow中多次运行列车运行

23

如何在tensorflow中多次运行一个模型?

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

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

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档