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>

但是......我一直一无所获,我做错了什么?


月关宝盒
浏览 89回答 2
2回答

小唯快跑啊

ajax是jQuery对象本身的方法,而不是它的实例。你需要jQuery.ajax()而不是jQuery('#monthForm').ajax()。

神不在的星期二

你要$("#monthForm").on("submit",function(e) {&nbsp;&nbsp; e.preventDefault(); // stop the actual submission&nbsp; const data = $(this)-serialize()+"&Assignment_"+myValue.id; // or similar&nbsp; $.ajax({&nbsp; &nbsp; url: '/assignments/doattendance/'+myValue.id,&nbsp; &nbsp; type: "post",&nbsp; &nbsp; dataType: "html",&nbsp; &nbsp; data: data ,&nbsp; &nbsp; success: function(returnData){&nbsp; &nbsp; &nbsp; $("Assignment_"+myValue.id).html(returnData);&nbsp; &nbsp; },&nbsp; &nbsp; error: function(e){&nbsp; &nbsp; &nbsp; alert(e);&nbsp; &nbsp; }&nbsp; })})
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript