我是项目的新开发者,我希望了解它的工作原理。该网站使用AngularJS和Python与Flask框架。
我的文件:/controllers/quotes.py:controller python for myeses /static/controller.js:my local controller /static/service.js:my local factory /app.js:routes container
我对angularJS的理解:controller.js调用service.js,通过app.js调用quotes.py.或者我错了吗?
对我的文件有什么重要的(新功能):/ console /quotes.py:
@quotes.route('/quotes/announce/<int:announce_id>/quote/<int:quote_id>/pdf', methods=['POST'])
def pdf(quote_id):
return jsonify(result=True)
尝试加载只是一个简单的代码。
我的文件/static/quotes/controller.js
$scope.downloadQuote = function() {
QuoteService.downloadQuote($routeParams.announceId, $routeParams.quoteId)
.then(function(data, status) {
alert("1");
})
.catch(function(data, status) {
alert("2");
$scope.error = true;
$scope.errorMessage = "Erreur, impossible de charger le pdf";
});
};
我的文件/static/quotes/service.js:
angular.module('myApp').factory('QuoteService', ['$q', '$timeout', '$http', function ($q, $timeout, $http) {
return ({
downloadQuote : downloadQuote
});
function downloadQuote(announceId, quoteId) {
var deferred = $q.defer();
$http.post('/quotes/announce/' + announceId + '/quote/' + quoteId + '/pdf', {quoteId:data.quoteId})
.success(function (data, status) {
deferred.resolve(data);
})
.error(function (data) {
deferred.reject();
});
return deferred.promise;
}
我的部分文件app.js:
.when('/app/quotes/announce/:announceId/quote/:quoteId/pdf' {
controller: 'quoteController',
access: {restricted: true}
template: '',
})
当我执行python manage.py runserver时,如果我在app.js中应用.when,则所有网站都是空白的(就像每个页面上的白色屏幕一样)。如果我不申请.when,我在该页面上请求POST时在终端中有一个404。这是问题吗?