为了账号安全,请及时绑定邮箱和手机立即绑定

Jquery 已安装,为什么我的 ajax 不是函数?

Jquery 已安装,为什么我的 ajax 不是函数?

月关宝盒 2022-06-05 16:28:01
需要一点背景来解释这一点:我有一个旧的 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>但是......我一直一无所获,我做错了什么?
查看完整描述

2 回答

?
小唯快跑啊

TA贡献1863条经验 获得超2个赞

ajaxjQuery对象本身的方法,而不是它的实例。

你需要jQuery.ajax()而不是jQuery('#monthForm').ajax()


查看完整回答
反对 回复 2022-06-05
?
神不在的星期二

TA贡献1963条经验 获得超6个赞

你要


$("#monthForm").on("submit",function(e) { 

  e.preventDefault(); // stop the actual submission

  const data = $(this)-serialize()+"&Assignment_"+myValue.id; // or similar

  $.ajax({

    url: '/assignments/doattendance/'+myValue.id,

    type: "post",

    dataType: "html",

    data: data ,

    success: function(returnData){

      $("Assignment_"+myValue.id).html(returnData);

    },

    error: function(e){

      alert(e);

    }

  })

})


查看完整回答
反对 回复 2022-06-05
  • 2 回答
  • 0 关注
  • 88 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信