我是javascript的新手,我遇到了jquery和AJAX请求的第一个问题。我在页面上有很多切换,当我点击它们时,我必须要求REST服务查询我是否可以。如果可以的话,我会显示一个警告框,你确定blablabla,如果没有警告说用户不能。
这是主要的问题,如果我使用async:false它可以工作,但我可以阅读它不是一个好的做法(和铬记住我不是)那么这样做的好方法是什么?
我正在使用骨干网,我不希望每次切换都设置一个方法来处理点击,第二种方法来处理回调。
这样做的好方法是什么?
startService: function(serviceName){
var confirm = true;
var $paid = this.model.getPaidTo(serviceName);
console.log(this.model.getPaidTo(serviceName));
//Here the consol.log is always undefined if I use async: true
if ($paid == 'false'){
confirm = confirm("Are you sure to start" + this.model.services[serviceName].price + ". Continue ?");
}
if(confirm){
console.log("start " + serviceName + " service")
return true;
}
return false;
},
型号:
getPaidTo: function(serviceName){
var self = this;
var Url = require.apiUrl + "profile/girl/" + this.loginModel.id + "/checkservice/" + serviceName;
$.ajax({
type: "GET",
url: Url,
data: {},
success: function(data){
return data.data.service;
},
error: function(data){
self.error = 'error';
return 'error';
}
});
}
祝你好运
答案 0 :(得分:0)
谢谢Slaks,
它工作得很好。以下是我进行修改的方式:
getPaidTo: function(serviceName){
var Url = require.apiUrl + "profile/girl/" + this.loginModel.id + "/checkservice/" + serviceName;
return $.ajax({
type: "GET",
url: Url
});
}
型号:
// create url
let imageURL = NSURL(string: Constants.CatURL)!
// create task
let task = NSURLSession.sharedSession().dataTaskWithURL(imageURL) {
(data, response, error) in print("task finished")
}
希望它会帮助其他人。
祝你好运