我将绑定到beforeSend的ajax表单提交:
我的函数如下:
当我手动向服务器提交时,它是可以工作的,就像这样:
我的函数如下:
submitStuff : function(e, xhr, settings) {
settings.data = {
invitation : {
emails : me.returnsArrayX(),
bucket2 : me.returnsArrayY(),
bucket3 : me.returnsArrayZ()
}
}
}
当我手动向服务器提交时,它是可以工作的,就像这样:
$.ajax({
type: 'POST',
url: '/myurl',
dataType: 'json',
data: {
invitation : {
emails : me.returnsArrayX(),
bucket2 : me.returnsArrayY(),
bucket3 : me.returnsArrayZ()
}
}
});
但由于我正在使用Rails UJS,我想使用内置的表单提交器(data-remote)。为什么在上述情况下settings.data不起作用?我需要将对象转换为数组或其他吗?
谢谢。
me
变量定义在哪里?第一个代码片段中应该是e
吗?我不熟悉 Rails UJS,但是beforeSend
回调的正常签名是(jqXHR, settings)
。如果我理解你正确,你是说你正在使用submitStuff
作为beforeSend
回调--是你还是Rails UJS对此进行了一些调整,以增加额外的参数? - JMM