Ruby   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ruby-on-rails – 如何在Rails中将数据附加到jquery-ujs发布请求?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个具有data-remote =“true”属性的Ajax表单,我正在rails中的控制器.

我想做的是在发送到服务器之前使用jquery-ujs event system将数据附加到请求中.

这样的东西

$("#my_form").bind('ajax:beforeSend',function(xhr,setTings){
  // serialize some object and append it
});

我不知道如何实际标记数据呢?

编辑这就是控制台中’xhr’对象的样子.

f.Event
currentTarget: DOMWindow
data: undefined
exclusive: undefined
handLeobj: Object
handler: function N(a){var b,c,d,e,g,h,i,j,k,l,m,n,o,p=[],q=[],r=f._data(this,"events");if(!(a.liveFired===this||!r||!r.live||a.target.disabled||a.button&&a.type==="click")){a.namespace&&(n=new RegExp("(^|\\.)"+a.namespace.split(".").join("\\.(?:.*\\.)?")+"(\\.|$)")),a.liveFired=this;var s=r.live.slice(0);for(i=0;i<s.length;i++)g=s[i],g.origType.replace(y,"")===a.type?q.push(g.SELEctor):s.splice(i--,1);e=f(a.target).closest(q,a.currentTarget);for(j=0,k=e.length;j<k;j++){m=e[j];for(i=0;i<s.length;i++){g=s[i];if(m.SELEctor===g.SELEctor&&(!n||n.test(g.namespacE))&&!m.elem.disabled){h=m.elem,d=null;if(g.preType==="mouseenter"||g.preType==="mouSELEave")a.type=g.preType,d=f(a.relatedTarget).closest(g.SELEctor)[0],d&&f.contains(h,d)&&(d=h);(!d||d!==h)&&p.push({elem:h,handLeobj:g,level:m.level})}}}for(j=0,k=p.length;j<k;j++){e=p[j];if(c&&e.level>C)break;a.currentTarget=e.elem,a.data=e.handLeobj.data,a.handLeobj=e.handLeobj,o=e.handLeobj.origHandler.apply(e.elem,arguments);if(o===!1||a.isPropagationStopped()){C=e.level,o===!1&&(b=!1);if(a.isImmediatePropagationStopped())break}}return b}}
jQuery16103879226385615766: true
liveFired: HTMLDocument
namespace: ""
namespace_re: /(^|\.)(\.|$)/
result: undefined
target: HTMLFormElement
timestamp: 1306788242911
type: "ajax:beforeSend"
__proto__: Object

解决方法

我最后想到了这一个.看来,尽管 docs说,ajax:beforeSend hook实际上有三个参数.根据 this helpful blog post他们是事件,xhr和这个顺序的设置.

我正在寻找的表单数据是在设置参数的data属性中.

所以基本上,我现在可以使用该函数向请求添加数据

$("#my_form").bind('ajax:beforeSend',function(event,xhr,setTings){
  setTings.data += "&serialized=data";
});

而额外的参数将在服务器上可用.

大佬总结

以上是大佬教程为你收集整理的ruby-on-rails – 如何在Rails中将数据附加到jquery-ujs发布请求?全部内容,希望文章能够帮你解决ruby-on-rails – 如何在Rails中将数据附加到jquery-ujs发布请求?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。