避免在$ http.get电子邮件和手机号码中重复

时间:2015-11-05 04:46:45

标签: angularjs ionic

我创建了一个名称,电子邮件,移动号码的表单......我已成功发布到服务器。我可以使用相同的移动电话号码和电子邮件创建多个用户,但我的目的是避免重复的移动电话号码和电子邮件只有一次用户可以用一个移动电话号码和电子邮件创建用户。

    var stringNumberURL= "http://port/easycloud1/org.openbravo.service.json.jsonrest/ADUser?l=saiy5k&p=saiy5k&_where=opcrmMobile=%27";
    var lastStringURL= "%27";
    var middelStringMobileNumber= userdata.data["opcrmMobile"];
    console.log(middelStringMobileNumber);

    var stringEmailURL="http://port/easycloud1/org.openbravo.service.json.jsonrest/ADUser?l=saiy5k&p=saiy5k&_where=email=%27";
    var middelStringEmailID=userdata.data["email"];
    console.log(middelStringEmailID);

    var mobileNumberURL=stringNumberURL.concat(middelStringMobileNumber,lastStringURL);
    console.log(mobileNumberURL);

    var email_idURL=stringEmailURL.concat(middelStringEmailID,lastStringURL);
    console.log(email_idURL);

        $http.get(mobileNumberURL) 
        .success(function(response){
            alert("mobilenumber is already exist");
        })            
        .error(function(response){
            $http.get(email_idURL) 
            .success(function(response){
                alert("eamil-id already exist");
            })
            .error(function(response){
                onLeadCreate();
            })
        }); 

但是当我尝试这个代码时,我的函数总是只调用成功部分。这里%27表示**“**(双重代码符号或单个代码符号)。

2 个答案:

答案 0 :(得分:1)

如果GET请求成功,它将始终触发成功回调。您需要检查后端是否重复,并在回调响应中传递状态。

.success(function(response){
    if ('undefined' !== typeof response.error) {
         if ('duplicate' === response.error) { 
             // handle duplicate error
         }
    }
})   

答案 1 :(得分:1)

请尝试使用此代码,

if (response.response.data.length !== 0) {
    alert("mobilenumber is already exist");
} else if (response.response.data.length == 0) {
    //Your Content goes here    
}