Jquery PhoneGap中ajax调用的同步问题
我在validation方法中调用了一个webservice,但是validation方法在没有完成webservice的情况下返回 代码>>Jquery PhoneGap中ajax调用的同步问题,jquery,ios,ajax,web-services,cordova,Jquery,Ios,Ajax,Web Services,Cordova,我在validation方法中调用了一个webservice,但是validation方法在没有完成webservice的情况下返回 代码>> jQuery.validator.addMethod("name", function (value, element) { var validUsername = false; $.ajaxSetup({ "async": false }); $.getJSON(serverName + '/handlers/qs-user.
jQuery.validator.addMethod("name", function (value, element) {
var validUsername = false;
$.ajaxSetup({ "async": false });
$.getJSON(serverName + '/handlers/qs-user.ashx?callback=?', {
'username': $("#email").val(),
'op': 'GetMobileUser'
},
function (data) {
if (data.UserId == "null") {
validUsername = true;
} else {
validUsername = false;
}
});
$.ajaxSetup({ "async": true });
var result = this.optional(element) || value == "" || validUsername;
if (!result) {
var validator = this;
setTimeout(function () {
validator.blockFocusCleanup = true;
element.focus();
validator.blockFocusCleanup = false;
}, 1);
}
return result;
}, "That e-mail address has already been used.");
如何同步此web服务呼叫。。
作为
它不起作用了
谢谢你调查此事 然而,在您的例子中,您似乎正在使用JSONP,它永远不可能是同步的。我建议您直接使用Ajax获取资源,因为Phonegap支持跨域Ajax,或者将您的代码重新构造为异步的,即传递并激发a而不是返回值。最好在用于远程验证的jQuery验证插件中使用该方法。
$.ajaxSetup({ "async": false });