这个人一直在打破我的大脑。
我正在尝试从表单中获取$ _POST数据,并将其放在与mootools框架中使用Ajax的表单相同的页面上的div中。而且我无法让它工作,成功的消息显示,div只会被填充:Array()。
php文件很简单:
<?php
print "<pre>".print_r($_POST, true)."</pre>";
?>
这是我的javascript:
window.addEvent('domready', function() {
$('form-booking').addEvent('submit', function(event) {
event.stop();
var log = $('log_res').empty().addClass('ajax-loading');
this.set('send',{
url: this.get("action"),
data: this,
update: log,
onComplete: function(response) { log.removeClass('ajax-loading');
alert('Succesvol aangevraagd.'); $('log').setStyle('background','#ffffff');
}
}).send();
});
});
更新
Header:
Connection Keep-Alive
Content-Length 0
Content-Type text/html
Date Fri, 09 Mar 2012 12:06:17 GMT
Keep-Alive timeout=5, max=100
Location http://192.168.52.64/xampp/
Server Apache/2.2.14 (Win32) DAV/2 mod_ssl/2.2.14 OpenSSL/0.9.8l mod_autoindex_color PHP/5.3.1 mod_apreq2-20090110/2.7.1 mod_perl/2.0.4 Perl/v5.10.1
X-Powered-By PHP/5.3.1
POST:
<pre>Array
(
[date_from] => 1331300252
[service_check_8] => 1
[service_check_34] => 1
[booking_form] => 1
[cnt_nights] => 7
[cnt_person] => 2
[cnt_children] => 0
[cnt_baby] => 0
[child_ages] => Array
(
[0] => 2
[1] => 2
[2] => 2
[3] => 2
[4] => 2
[5] => 2
[6] => 2
[7] => 2
[8] => 2
[9] => 2
[10] => 2
[11] => 2
[12] => 2
[13] => 2
[14] => 2
[15] => 2
[16] => 2
[17] => 2
[18] => 2
[19] => 2
)
[service_cnt_8] => 2
[subservice_16] => 614
[service_cnt_34] => 1
[subservice_40] => 301
[subservice_88] => 688
[service_cnt_67] => 1
[subservice_122] => 762
[service_cnt_68] => 1
[subservice_123] => 765
)
</pre>
答案 0 :(得分:0)
请下次,在格式化代码方面做得更好 - 这很难读懂...你能试试吗(完全和发布一样)
$('form-booking').addEvent('submit', function(e) {
new Event(e).stop();
var log = $('log_res').empty().addClass('ajax-loading');
this.send({
update: log,
onComplete: function() {
log.removeClass('ajax-loading');
}
});
});
答案 1 :(得分:0)
'Array()'来自php - 您需要更改代码中的一些内容:
首先,将method: post
添加到您设置发送的位置。 PHP正在打印您的$ _POST数组,该数组为空,因此您可以获得您所看到的响应。这不是一个mootools问题。
此外,您的$('log')。setStyle ...将无效,因为您的日志div似乎具有id'log_res'(除非您有2个不同的日志元素继续)。