StrangeDev
@StrangeDev
Web developer

Как передать значение с JQuery в AngularJS?

У меня есть скрипт для загрузки фотографий на сервер, работает он на 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
		});
	};
}]);
  • Вопрос задан
  • 292 просмотра
Пригласить эксперта
Ответы на вопрос 1
@bromzh
Drugs-driven development
Если используешь ангуляр, то забудь про jquery. Напиши на ангуляре сервис, через $http отправляй/получай данные. Либо откажись от ангуляра и используй только jquery с чем-то другим. Текущий вариант - ненужные костыли.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы