我尝试在函数内调用$ http服务,所以我没有得到嵌套的回调。没有功能范围,它看起来像这样:
$http.post('/verify_stripe_token', {email:$routeParams.email,token:$routeParams.t})
.then(function(response) {
console.log(response.data) // return 1
});
我想使用if(valid_token()== 1){}所以我试过
function valid_token(){
$http.post('/verify_stripe_token', {email:$routeParams.email,token:$routeParams.t})
.then(function(response) {
return response.data;
});
}
什么都没有用?我做了console.log(valid_token())我得到了未定义。
答案 0 :(得分:2)
首先,您的valid_token()
函数不会返回任何内容。
接下来,由于if(valid_token() == 1)
请求是异步的,因此您无法$http
您需要执行以下操作:
function valid_token(){
// return the promise
return $http.post('/verify_stripe_token', {email:$routeParams.email,token:$routeParams.t})
.then(function(response) {
return response.data;
});
}
valid_token().then(function(data){
if(data == 1){
// do what you need here
}
})
答案 1 :(得分:0)
响应实际上是一个JSON.Print response.data来确认它并以JSON方式处理它