Ric*_*ano 3 javascript ajax jquery callback
我有一个javascript函数,它将数据发布到验证脚本并从那里获取值.post请求的回调函数返回一个布尔值,我试图让整个函数返回该布尔值.现在,回调函数返回正确的值,但函数本身不返回任何内容.这是代码:
function validate(request_type, request_text) {
$.post("http://www.example.com/ajax/validate.php",{
type: request_type,
text: request_text
}, function(data) {
return (data == "valid");
});
}
Run Code Online (Sandbox Code Playgroud)
我意识到这是一种"同步"调用,这不是AJAX的意思,但我已经在validate.php(数据库调用等)中有很多函数,我无法在Javascript中实现,我看到了像这样的线程谈论使用某种形式的处理程序.
当我在一个语句中使用它时,我将如何编写一个简单的处理程序来使变量data或布尔比较的结果data == "valid"可用if/else(这是应该使用这个函数的地方)?
编辑:例如,if将使用布尔结果的一个语句:
if (!validate('password',pass_new)) {
$('#pass_new').addClass('error');
$('#pass_confirm_new').addClass('error');
$(error_string.format('Please enter a valid password.')).insertAfter('#pass_confirm_new');
$('#pass_text_short').hide();
$('#pass_text_long').show();
Run Code Online (Sandbox Code Playgroud)
编辑:onsubmit在我的HTML表单中使用事件调用的函数:
function valid_pass_sett() {
//code to remove errors left over from previous submissions - snipped
pass_old = $('input[name=pass_old]').val();
pass_new = $('input[name=pass_new]').val();
pass_confirm_new = $('input[name=pass_confirm_new]').val();
//some if statements that don't involve AJAX requests - snipped
if (!validate('password',pass_new)) {
$('#pass_new').addClass('error');
$('#pass_confirm_new').addClass('error');
$(error_string.format('Please enter a valid password.')).insertAfter('#pass_confirm_new');
$('#pass_text_short').hide();
$('#pass_text_long').show();
return false;
}
return true;
}
Run Code Online (Sandbox Code Playgroud)
我没有编辑此代码以包含已发布的更新代码,但我的问题是我是如何return false通过它来停止表单提交的?
function validate(request_type, request_text, callback) {
$.post("http://www.example.com/ajax/validate.php",{
type: request_type,
text: request_text
}, function(data) {
callback(data == "valid");
});
}
Run Code Online (Sandbox Code Playgroud)
用法是:
validate(request_type, request_text, function (isValid) {
if(isValid) {
// do something
} else {
// do something if invalid
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
26189 次 |
| 最近记录: |