Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/112.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery PhoneGap中ajax调用的同步问题_Jquery_Ios_Ajax_Web Services_Cordova - Fatal编程技术网

Jquery PhoneGap中ajax调用的同步问题

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.

我在validation方法中调用了一个webservice,但是validation方法在没有完成webservice的情况下返回

代码>>

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 });