我正在尝试使用表com_users中的joomla注册表单进行AJAX用户名验证。我有ajax验证自定义字段,这很好。但是当我在表com_users中尝试anythink(名称,用户名,邮件)验证时,响应为NULL(请求没问题。)
这是我的带输入掩码插件的js:
// START #username
var input_username = document.getElementById("jform_username");
var inputParent_username = $(input_username).parent();
$(input_username).inputmask('*{4,40}',{
greedy:false,
placeholder:'_',
allowPlus: false,
allowMinus: false,
definitions: {
'*': {
validator: "[0-9A-Za-z@_-]"
}
},
oncomplete: function () {
$(inputParent_username).addClass("complete").removeClass("incomplete");
$.ajax({
type:"POST",
timeout:3000,
url:"/components/MY_COMPONENT/check_username.php",
dataType:"json",
data: $('#jform_username').serialize(),
beforeSend: function(){
$('#jform_username').siblings(".fa").removeClass("fa-exclamation-circle").addClass("fa-cog fa-spin");
},
success: function(data) {
var obj = JSON.parse(data);
obj=data;
console.log(obj);
if(obj == 0) {
$('#jform_username').siblings("i").removeClass("fa-cog fa-spin fa-check-circle").addClass("fa-times-circle-o");
$('#jform_username').addClass("valid-fail").removeClass("validate").css({"color":"#cf0404"});
$(inputParent_username).addClass("valid-fail").removeClass("validate");
} else if(obj == 1) {
$('#jform_username').siblings("i").removeClass("fa-cog fa-spin fa-times-circle-o").addClass("fa-check-circle");
$('#jform_username').addClass("validate").removeClass("valid-fail").removeAttr("style");
$(inputParent_username).addClass("validate").removeClass("valid-fail");
}
},
error: function(xhr, status, error) {
var err = eval("(" + xhr.responseText + ")");
console.log(err.Message);
}
});
},
onincomplete: function () {
$(inputParent_username).addClass("incomplete");
}
});
// END #username
为什么会这样? joomla阻止了对com_users的请求,还是我完全愚蠢的?