这是我的aui脚本。转到成功后,状态变量设置为0
。但在此之后的条件
if(status == 0)
未在块if(starttime.length > 0 || endtime.length > 0)
内执行。
A.one('#<portlet:namespace/>addBooking').on('submit', function(event) {
var roomIndex =A.one("#<portlet:namespace/>roomIndex").get('value');
var bookingdate =A.one("#<portlet:namespace/>bookingdate").get('value');
var starttime =A.one("#<portlet:names`enter code here`pace/>starttime").get('value');
var endtime =A.one("#<portlet:namespace/>endtime").get('value');
var status=1;
if(starttime.length > 0 || endtime.length > 0) {
A.io.request('${bookingValidationURL}',{
dataType: 'json',
method: 'POST',
data: { <portlet:namespace/>roomIndex: roomIndex,
<portlet:namespace/>starttime: starttime,
<portlet:namespace/>endtime: endtime,
},
on: {
success: function() {
var data = this.get('responseData');
if(data==null){
status="0";
}
}
}
});
if(status==0){ // this condition is not checked when status is 0 in success part
event.halt();
}
}
});
答案 0 :(得分:0)
Ajax是异步的..因此,对于执行同步任务,我们必须在ajax函数中设置sync = true ...所以对于上面的代码
if pageheader =1
then true
else false