取决于一个 ajax 调用响应调用另一个 ajax 调用 angularjs
depends on one ajax call response call another ajax call in angularjs
首先我调用了 userSignupSubmit function.Inside 这个方法调用了另一个方法 mobilenocheckingmethod ,依赖于这个 ajax 调用响应来调用另一个 ajax 调用但是第二次调用它不起作用。
var crm = angular.module('crm');
crm.controller("userCheckingController", function($scope,service, $http) {
var key="";
$scope.mobilenoCheckingSubmit = function() {
var dataObject="serialNo="+$scope.mobileno;
alert(dataObject);
$http({
method:'POST',
url:'registerDevice',
data:dataObject,
headers:{'Content-Type':'application/x-www-form-urlencoded'}
}).
success(function(data, status, headers, config) {
var code=data.code;
if(code!=200)
{
alert("mobileno200"+data.message);
key=data.clientKey;
this.userSignup();
}
else
{
alert("mobileno201"+data.message);
alert("mobileno201"+data.clientKey);
key=data.clientKey;
this.userSignup();
}
}).
error(function(data, status, headers, config) {
$scope.user_error_status="Inside Error Occur";
return;
}).
//this.userSignup();
}
$scope.userSignupSubmit = function() {
this.mobilenoCheckingSubmit();
}
$scope.userSignup=function(){
var dataObject="email="+$scope.signupEmail+"&key="+key;
alert(dataObject);
$http({
method:'POST',
url:'signUp',
data:dataObject,
headers:{'Content-Type':'application/x-www-form-urlencoded'}
}).
success(function(data, status, headers, config) {
var code=data.code;
if(code === 201)
{
alert(data.message);
}
if(code === 200)
{
alert(data.message);
}
if(code === 409)
{
service.Key(data.Key);
$scope.manual_dashboard = true;
$scope.userChecking = true;
}
}).
error(function(data, status, headers, config) {
$scope.signup_error_status="Inside Error Occur";
});
}
});
您的代码应使用 $scope.userSignup();
而不是 this.userSignup();
,这将在 ajax 调用成功时调用您的作用域方法。
代码
success(function(data, status, headers, config) {
var code = data.code;
if (code != 200) {
alert("mobileno200" + data.message);
key = data.clientKey;
$scope.userSignup(); //<-- change here
} else {
alert("mobileno201" + data.message);
alert("mobileno201" + data.clientKey);
key = data.clientKey;
$scope.userSignup(); //<-- change here
}
})
首先我调用了 userSignupSubmit function.Inside 这个方法调用了另一个方法 mobilenocheckingmethod ,依赖于这个 ajax 调用响应来调用另一个 ajax 调用但是第二次调用它不起作用。
var crm = angular.module('crm');
crm.controller("userCheckingController", function($scope,service, $http) {
var key="";
$scope.mobilenoCheckingSubmit = function() {
var dataObject="serialNo="+$scope.mobileno;
alert(dataObject);
$http({
method:'POST',
url:'registerDevice',
data:dataObject,
headers:{'Content-Type':'application/x-www-form-urlencoded'}
}).
success(function(data, status, headers, config) {
var code=data.code;
if(code!=200)
{
alert("mobileno200"+data.message);
key=data.clientKey;
this.userSignup();
}
else
{
alert("mobileno201"+data.message);
alert("mobileno201"+data.clientKey);
key=data.clientKey;
this.userSignup();
}
}).
error(function(data, status, headers, config) {
$scope.user_error_status="Inside Error Occur";
return;
}).
//this.userSignup();
}
$scope.userSignupSubmit = function() {
this.mobilenoCheckingSubmit();
}
$scope.userSignup=function(){
var dataObject="email="+$scope.signupEmail+"&key="+key;
alert(dataObject);
$http({
method:'POST',
url:'signUp',
data:dataObject,
headers:{'Content-Type':'application/x-www-form-urlencoded'}
}).
success(function(data, status, headers, config) {
var code=data.code;
if(code === 201)
{
alert(data.message);
}
if(code === 200)
{
alert(data.message);
}
if(code === 409)
{
service.Key(data.Key);
$scope.manual_dashboard = true;
$scope.userChecking = true;
}
}).
error(function(data, status, headers, config) {
$scope.signup_error_status="Inside Error Occur";
});
}
});
您的代码应使用 $scope.userSignup();
而不是 this.userSignup();
,这将在 ajax 调用成功时调用您的作用域方法。
代码
success(function(data, status, headers, config) {
var code = data.code;
if (code != 200) {
alert("mobileno200" + data.message);
key = data.clientKey;
$scope.userSignup(); //<-- change here
} else {
alert("mobileno201" + data.message);
alert("mobileno201" + data.clientKey);
key = data.clientKey;
$scope.userSignup(); //<-- change here
}
})