javascript - Jquery 已安装,为什么我的 ajax 不是函数?
问题描述
需要一点背景来解释这一点:
我有一个旧的 rails 2 应用程序,它有一个模态表单。当我提交此表单时,它应该更新数据库并关闭模式。生成的表格看起来像这样..
> <form action="/assignments/doattendance/767107" id="modalForm_767107"
> method="post" onsubmit="jQuery('.modal-backdrop').fadeOut(200,
> function(){jQuery(this).remove();});; new
> Ajax.Updater('Assignment_767107', '/assignments/doattendance/767107',
> {asynchronous:true, evalScripts:true,
> parameters:Form.serialize(this)}); return false;">
如果您仔细观察,您会在此表单上看到一个原型 Ajax 调用。remote_form_for
这是由erb 文件中的 rails 调用生成的。现在。由于“原因”,我不能在显示此表单的第二页上使用 remote_form_for,并且需要使用<form id="monthForm>
标签在 Rails 之外正常构建表单。但我需要这个原型 Ajax。我安装了 jQuery,它正在网站上运行。所以...
我有一些原型代码需要转换为 jquery。但我一直遇到“.ajax 不是函数”错误...
原型代码:
> new Ajax.Updater('Assignment_767107',
> '/assignments/doattendance/767107', {asynchronous:true,
> evalScripts:true, parameters:Form.serialize(this)});
- 如何将上面的原型代码转换为我的表单的 JQUERY?
我在这里读过一个类似的问题......
Jquery 中的 Ajax.updater 等价物是什么?
...关于 StackOverflow 上的这个主题,并根据该答案构建了这个...
jQuery('#monthForm').submit(function(event){
event.preventDefault();
jQuery.ajax({
url: '/assignments/doattendance/'+myValue.id,
type: "post",
dataType: "html",
data: {"Form.serialize(this)" : "Assignment_"+myValue.id},
success: function(returnData){
jQuery("#Assignment_767107").html(returnData);
},
error: function(e){
alert(e);
}
})
})
同样,ajax 应该附加到的表单是这个......
<form id="monthForm">
...
</form>
但是......我一直一无所获,我做错了什么?
解决方案
ajax
是jQuery
对象本身的方法,而不是它的实例。
你需要jQuery.ajax()
而不是jQuery('#monthForm').ajax()
。
推荐阅读
- java - 如何在后台为不同的用户显示不同的节点名称?
- reactjs - ReferenceError:在初始化之前无法访问“玩家”
- reactjs - 在 ReCharts 中将 Y 轴范围限制为 100%
- c# - 在 .Net Core 3.1 中使用 Microsoft Graph 获取用户信息时出现异常
- javascript - 用JS在浏览器中读取文件
- python - 在 tempfile.TemporaryDirectory 中创建目录时出现问题
- php - 使用 amadeus 航班创建订单 API 生成 PNR 问题
- java - 当该数据库生成其字段时,如何告诉 Hibernate 返回与数据库同步的已保存实体
- ruby-on-rails - Rails 5.1、Rails 6.1.3 回顾 v3 gem 集成
- java - 将 Vaadin 8 插件与 Vaadin 14 Java 一起使用