我正在使用MooTools 1.4.1。我想创建一个ajax post requst,但我无法弄清楚如何构造“data”属性,我希望包含一个id为“myForm”的表单的名称值对。
$('save').addEvent('click', function(event) {
var req = new Request({
method: 'post',
url: 'save',
data: { ... },
onRequest: function() {
// on request
},
onComplete: function(response) {
alert(response);
});
});
任何人都知道我应该如何填充“数据”属性?谢谢, - 戴夫
答案 0 :(得分:1)
您可以使用
$('myForm').toQueryString();
或者,MooTools More包有一个Form.Request()
类来使用Ajax发送表单。
答案 1 :(得分:1)
正如Savageman评论的那样,您可以将表单元素放入toQueryString()
并通过data属性发送,或者在请求对象上运行.send()
或.post()
。
你似乎也错过了一个关闭的波浪形支架。
无论如何,这就是我制作AJAX请求的方式:
new Request({
url: 'http://url/to/ajax/script.php',
onSuccess: function(data) {
doStuff();
}
}).post('action=foo&bar=baz');
如果你计划发回东西,我建议你使用Request.JSON。它不像“猎枪方法” - 呃。
答案 2 :(得分:1)
您只需将表单元素传递给“data”属性,转换就是自动的。
var req = new Request({
method: 'post',
url: 'example.com/form.php',
data: $('myForm'),
onRequest: function() {
// on request
},
onComplete: function(response) {
alert(response);
}
});
数据 - (mixed:默认为'')Request:send的默认数据,在没有给出数据时使用。可以是 元素 , 对象 或 字符串 。
如果传递了对象 ,将使用 对象:toQueryString 方法进行转换对象到字符串。
如果传递了元素 , 元素:toQueryString 方法将用于转换将元素转换为字符串。