У меня есть скрипт для загрузки фотографий на сервер, работает он на JQuery + PHP. Начал писать скрипт для управления рекламными блоками на сайте. Применил AngularJS, все работает хорошо, информация с полей снимается и сохраняется в массив, но столкнулся с проблемой : как передать имя загруженного изображения в AngularJS, чтобы добавить его в массив к остальной информации ?
<form id="uploadimage" action="" method="post" enctype="multipart/form-data">
<div id="image_preview"><img id="previewing" src="images/noimage.png" /></div>
<input type="text" id="img_name" ng-model="imgUpl">
<div id="selectImage"><br/>
<input type="file" name="file" id="file" required/>
<input type="submit" value="Завантажити" class="enjoy-css-button-center" />
<h4 id='loading' style="display:none;">loading...</h4>
<div id="message"></div>
</div>
JQuery (Upload)
$(document).ready(function (e) {
$("#uploadimage").on('submit',(function(e) {
e.preventDefault();
$("#message").empty();
$('#loading').show();
$.ajax({
url: "ajax_php_file_advert.php",
type: "POST",
data: new FormData(this),
contentType: false,
cache: false,
processData:false,
success: function(data)
{
$('#loading').hide();
$("#message").html(data);
$('#img_name').val(data);
}
});
}));
AngularJS (App)
var settingsModule = angular.module('settingsModule',['firebase']);
settingsModule.controller('MainCtrl',['$scope','$firebase',function($scope,$firebase){
$scope.typeBanner='video';
$scope.banner = [
{
name:'First',
types: $scope.typeBanner,
image: 'none'
}
];
$scope.save = function() {
$scope.banner.push({
name:$scope.nameBanner,
types:$scope.typeBanner,
image:$scope.imgUpl
});
};
}]);