MooTools:如何为POST ajax请求打包数据?

MooTools:如何为POST ajax请求打包数据?,ajax,post,mootools,Ajax,Post,Mootools,我正在使用MooTools 1.4.1。我想创建一个ajaxpost请求,但我不知道如何构造“data”属性,我希望它包含id为“myForm”的表单的名称-值对 有人知道我应该如何填充“数据”属性吗?谢谢,-Dave你可以用 $('myForm').toQueryString(); 或者,MooTools More包有一个Form.Request()类,用于使用Ajax发送表单。您可以使用 $('myForm').toQueryString(); 或者,MooTools More包有一个F

我正在使用MooTools 1.4.1。我想创建一个ajaxpost请求,但我不知道如何构造“data”属性,我希望它包含id为“myForm”的表单的名称-值对

有人知道我应该如何填充“数据”属性吗?谢谢,-Dave你可以用

$('myForm').toQueryString();
或者,MooTools More包有一个
Form.Request()
类,用于使用Ajax发送表单。

您可以使用

$('myForm').toQueryString();

或者,MooTools More包有一个
Form.Request()
类来使用Ajax发送表单。

正如Savagman所评论的,您可以将表单元素放入
toQueryString()
并在数据属性中发送,或者在请求对象上运行
.send()
.post()

您似乎还缺少一个结束时扭曲的括号

无论如何,这就是我发出AJAX请求的方式:

new Request({
    url: 'http://url/to/ajax/script.php',
    onSuccess: function(data) {
        doStuff();
    }
}).post('action=foo&bar=baz');

如果你打算发回东西,我建议你使用Request.JSON。这不是什么“散弹枪式的方法”-ey.

正如Savagman评论的那样,您可以将表单元素放入
toQueryString()
并在数据属性中发送,或者在请求对象上运行
.send()
.post()

您似乎还缺少一个结束时扭曲的括号

无论如何,这就是我发出AJAX请求的方式:

new Request({
    url: 'http://url/to/ajax/script.php',
    onSuccess: function(data) {
        doStuff();
    }
}).post('action=foo&bar=baz');

如果你打算发回东西,我建议你使用Request.JSON。这不是什么“散弹枪式”的方法,您只需将表单元素传递给“数据”属性,转换是自动的

var req = new Request({
    method: 'post',
    url: 'example.com/form.php',
    data: $('myForm'),
    onRequest: function() { 
        // on request
    },
    onComplete: function(response) {
        alert(response);
    }
});
数据-(混合:默认为“”)请求:发送的默认数据,在未提供数据时使用。可以是元素对象字符串
如果传递了对象,则将使用对象:toQueryString方法将对象转换为字符串。
如果传递了元素,则将使用元素:toQueryString方法将元素转换为字符串


您只需将表单元素传递给“数据”属性,即可自动进行转换

var req = new Request({
    method: 'post',
    url: 'example.com/form.php',
    data: $('myForm'),
    onRequest: function() { 
        // on request
    },
    onComplete: function(response) {
        alert(response);
    }
});
数据-(混合:默认为“”)请求:发送的默认数据,在未提供数据时使用。可以是元素对象字符串
如果传递了对象,则将使用对象:toQueryString方法将对象转换为字符串。
如果传递了元素,则将使用元素:toQueryString方法将元素转换为字符串


只需发送一个对象-值对
数据:{foo:“bar”}只需发送一个对象-值对
数据:{foo:“bar”}可以将“$('myForm').toQueryString()的结果放在“data:”块之后?这目前对我不起作用,但我的程序可能还有其他问题。您可以将“$('myForm').toQueryString()的结果放在“data:”块之后?这对我来说目前还不起作用,但也许我的程序还有其他的问题。