我认为我的程序正在跳过
JSON调用的结果.
是否可以在此处创建闭包函数或使程序等待JSON调用返回?
是否可以在此处创建闭包函数或使程序等待JSON调用返回?
function username_not_duplicate(username) { var function_name = "get_username"; var parameters = [username]; var url = "/get_functions.PHP?function_name=" + function_name + "¶meters=" + parameters; $.getJSON(url,function(user_name) { if (user_name == true) { return true; } }); return false; }
解决方法
$.getJSON()API调用是异步的.您可以通过这种方式使用$.ajax()使其同步:
function username_not_duplicate(username) { var function_name = "get_username"; var parameters = [username]; var url = "/get_functions.PHP?function_name=" + function_name + "¶meters=" + parameters; var rslt = false; $.ajax({ async: false,url: url,dataType: "json",success: function(data) { if (data == true) { rslt = true; } } }); return rslt; }