Ich benutze eckig, um eine Post-Anfrage an ein Back-End mit Symphony, mit Daten aus einem HTML-Formular. Das Problem ist, dass es überhaupt nicht funktioniert, und es sendet mir einen möglichen unbehandelten Ablehnungsfehler in der Browser-Konsole. Wenn ich den REST-Client meines Browsers verwende, funktioniert es einwandfrei. Hier sind einige Teile des Codes:
Hier ist der HTML:
<header>
<div id="categorymenu">
<nav class="subnav">
<a href="#!welcome" class="logo pull-left">
<img style="height:50%; /* width: 70%; */ max-width: 100%;" title="Simplepxcreate" alt="Simplepxcreate" src="images/logo.png">
</a>
<ul class="nav-pills categorymenu container" style="color: #254F97 !important">
<li>
<a class="{{menActive1}} home" href="#!welcome" style="box-shadow: #CCC 1.5px 1.5px 0px 0px;">
<i class="icon-home icon-white font18"></i>
<span> Accueil</span>
</a>
</li>
<li>
<a class="{{menActive2}}" href="#!catalogue/all/all" style="box-shadow: #CCC 1.5px 1.5px 0px 0px;">
<i class="icon-shopping-cart"></i>
Produits
</a>
<div style="border-radius: 0px; box-shadow: #254F9766 1.5px 1.5px 0px 0px;">
<div class="loader" ng-show="loader1" style="margin-left: 50%"></div>
<ul >
<li ng-repeat="cathegorie in Acccathegories" style="border-bottom: 1px solid; border-bottom-style: dotted;">
<a href="#!catalogue/{{cathegorie.category.id}}/all">
<i class="icon-cogs"></i>
{{cathegorie.category.name}}
</a>
</li>
</ul>
</div>
<!--
Debut
Ceci n'est pas utilisé voila pour quoi il ne s'affiche pas :
-->
<div style="display: none; /*width:1000px;*/">
<!--
<ul>
<li class="categorymenu" ng-repeat="cathegorie in finalCathegories"><a href="#!catalogue/{{cathegorie.id}}/all">{{cathegorie.name}}</a>
<ul class="nav-pills" ng.if="cathegorie.subs!='nosubs'">
<li ng-repeat="sub in cathegorie.subs"><a href="#!catalogue/{{cathegorie.id}}/{{sub.id}}">{{sub.name}}</a></li>
</ul>
</li>
</ul>
-->
<div class="loader" ng-show="loader1" style="/*margin-left: 50%/*"></div>
<div>
<ul style="/*margin: 0; padding: 0; list-style: none;*/" style=" /*display: block; width: 1000px;*/">
<div style="padding: 15px; border-bottom: dotted;/*float: left; width: 25%; margin-top: 5px; margin-left: 5px;*/ /*float: left; width: 400px; margin-top: 20px; margin-left: 20px;*/" ng-repeat="cathegorie in Acccathegories">
<li style="">
<a href="#!catalogue/{{cathegorie.category.id}}/all" style=" background-color: #254F97; color: #FFF; padding: 5px; /*color: #254F97;*/ text-transform: uppercase; font-size: 14px; " id="mycats" >
<i class="fa fa-cogs"></i>
<img ng-if="!showSubs" src="images/repair-tools.png" style="width: 20px; height: 20px; margin-right: 10px; display: none;" >
{{cathegorie.category.name}}
</a>
<ul style="/*margin-left: 30px;*/ ">
<li ng-repeat=" sub in cathegorie.subs">
<a id="mysubs" href="#!catalogue/{{sub.id}}/all">{{sub.name}}<span></span></a>
</li>
</ul>
</li>
</div>
</ul>
</div>
<ul>
</ul>
</div>
<!--
Fin
-->
</li>
<li>
<a class="{{menActive3}}" href="#!nosservices" style="box-shadow: #CCC 1.5px 1.5px 0px 0px;">
<i class="icon-cogs"></i>
Services
</a>
</li>
<li>
<a class="{{menActive4}}" href="#!devis/all" style="box-shadow: #CCC 1.5px 1.5px 0px 0px;">
<i class="icon-check"></i>
Devis
</a>
</li>
<li>
<a class="{{menActive5}}" href="#!contact" style="box-shadow: #CCC 1.5px 1.5px 0px 0px;">
<i class="icon-envelope"></i>
Nous contacter
</a>
</li>
</ul>
</nav>
</div>
</header>
<div id="maincontainer">
<section>
<div class="container">
<!-- breadcrumb -->
<ul class="breadcrumb">
<li>
<a href="#">Home</a>
<span class="divider">/</span>
</li>
<li class="active">Devis</li>
</ul>
<div class="row mt40">
<div class="span8">
<h2 class="heading2">
<span>
<i class="icon-phone"></i>
Demandez un devis
</span>
</h2>
<form class="form-vertical contactform" method="post" name="devis">
<div class="control-group">
<label for="name" class="control-label">
Name
<span class="required">*</span>
</label>
<div class="controls">
<input type="text" placeholder="Votre nom et prénom ou celui de votre société" class="required" id="name" value="" name="name" ng-model="devis.nom" style="width: 80%; border-radius: inherit;">
</div>
</div>
<div class="control-group">
<label for="email" class="control-label">
Email
<span class="required">*</span>
</label>
<div class="controls">
<input type="email" placeholder="Votre adresse mail" class="required email" id="email" value="" ng-model="devis.email" style="width: 80%; border-radius: inherit;">
</div>
</div>
<div class="control-group">
<label for="url" class="control-label">
Telephone
</label>
<div class="controls">
<input type="text" id="name" placeholder="Votre numéro de téléphone" value="" name="url" ng-model="devis.telephone" style="width: 80%; border-radius: inherit;">
</div>
</div>
<div class="control-group">
<label for="url" class="control-label">
Objet
</label>
<div class="controls">
<input type="text" placeholder="Objet de votre devis" id="name" value="" name="url" ng-model="devis.objet" style="width: 80%; border-radius: inherit;">
</div>
</div>
<div class="control-group">
<label for="url" class="control-label">
Service :
</label>
<div class="controls">
<select id="select" style="width: 80%; border-radius: inherit;" ng-model="devis.service">
<option ng-repeat="service in Accservices" value="{{service.name}}" ng-selected="choosen.name=service.name">
{{service.name}}
</option>
</select>
</div>
</div>
<div class="control-group">
<label for="message" class="control-label">
Message
</label>
<div class="controls">
<textarea placeholder="Décrivez votre besoin ici" class="required" rows="6" cols="40" id="message" ng-model="devis.message" style="width: 80%; border-radius: inherit;"></textarea>
</div>
</div>
<div class="form-actions">
<input class="btn" type="reset" value="Annuler" ng-click="abort()">
<input class="btn btn-orange pull-right" type="submit" value="Envoyer" id="submit_id" style="margin-right: 20px" ng-click="askDevis(devis)">
</div>
</form>
</div>
<!-- Sidebar Start-->
<div class="span4">
<aside>
<div class="sidewidt">
<h2 class="heading2">
<span>
<i class="icon-envelope"></i>
Nos coordonnées
</span>
</h2>
<p>
Horraires:<br>
Lundi-Vendrdi: 08h-19h<br>
Samedi: 08h-15h<br>
<br>
<i class="icon-phone"></i>
Phone: (237) 33 40 53 50<br>
<i class="icon-envelope"></i>
Email: [email protected]/[email protected]<br>
<i class="icon-globe"></i>
Web: Auto22.com<br>
</p>
</div>
</aside>
</div>
<!-- Sidebar End-->
</div>
</div>
</section>
</div>
<!-- Footer -->
<footer id="footer">
<section class="footersocial">
<div class="container">
<div class="row">
<div class="span3 info">
<h2> <i class="icon-link"></i> LA propos </h2>
<ul>
<li><a href="">Qui sommes-nous</a> </li>
<li><a href="">Notre mission</a> </li>
<li><a href="">Notre équipe</a> </li>
</ul>
</div>
<div class="span3 contact">
<h2> <i class="icon-phone-sign"></i> Contact </h2>
<ul>
<li class="location"> Douala, Cameroun.</li>
<li class="phone"> Phone: (237) 33 40 53 50</li>
<li class="mobile"> Email: [email protected]/[email protected]</li>
<li class="email"> Web: Auto22.com</li>
</ul>
</div>
<div class="span3 twitter">
<h2> Temoignages </h2>
<div class="flexslider" id="testimonialsidebar">
<ul class="slides">
<li ng-repeat="temoignage in Temoignages">{{temoignage.content}} <br>
<span class="pull-right orange">By : {{temoignage.nameby}}</span> </li>
</ul>
</div>
</div>
<div class="span3 facebook">
<h2> Newsletter </h2>
<section id="newslettersignup">
<div class="pull-left mt20">
<form class="form-horizontal">
<div class="input-prepend">
<input type="text" placeholder="votre mail ici" id="inputIcon" class="span2">
<input value="Souscrire" class="btn btn-orange" type="submit">
Envoyer </div>
</form>
</div>
</section>
</div>
</div>
</div>
</section>
<section class="copyrightbottom">
<div class="container">
<div class="row">
<div class="span5 social">
<ul>
<li><a href="#"><i class="icon-facebook"></i></a></li>
<li><a href="#"><i class="icon-twitter"></i></a></li>
</ul>
</div>
<div class="span2 textcenter"> Auto22 @ 2017 powered by Njangihost </div>
</div>
</div>
</section>
<a id="gotop" href="#">Back to top</a>
</footer>
<script type="text/javascript" language="javascript">
$(function() {
$('#categorymenu').stickThis();
});
</script>
Und hier ist der Controller und der Service:
'use strict';
angular.module('Auto22', ['ngRoute', 'ui.bootstrap'])
.config(function($routeProvider){
$routeProvider
.when('/welcome', {
templateUrl : 'views/welcome.html',
controller: 'welcomeCtrl'
})
.when('/catalogue/:name/:subname', {
templateUrl : 'views/catalogue.html',
controller: 'catalogueCtrl'
})
.when('/services/:servicename', {
templateUrl : 'views/services.html',
controller: 'servicesCtrl'
})
.when('/nosservices', {
templateUrl : 'views/nosServices.html',
controller: 'nosservicesCtrl'
})
.when('/produit/:idproduct', {
templateUrl: 'views/produit.html',
controller: 'produitCtrl'
})
.when('/devis/:servicename', {
templateUrl: 'views/devis.html',
controller: 'devisCtrl'
})
.when('/contact', {
templateUrl: 'views/contact.html',
controller: 'contactCtrl'
})
.when('/promotion', {
templateUrl : 'views/promotion.html',
controller: 'promotionCtrl'
})
.when('/resultats/:produit', {
templateUrl : 'views/resultats.html',
controller: 'resultatsCtrl'
})
.otherwise({
redirectTo: '/welcome'
});
})
.config(function($sceProvider) {
$sceProvider.enabled(false);
})
.controller('devisCtrl', function($scope, $uibModal, cathegorie, devis, temoignages, subCathegorie, $rootScope, services, $routeParams){
document.title="Devis";
$scope.menActive1="";
$scope.menActive2="";
$scope.menActive3="";
$scope.menActive4="active";
$scope.menActive5="";
$scope.loader1=true;
$rootScope.apiAddress2="http://www.auto22industry.com/auto22new/manager/web/api/corporate";
$rootScope.apiAddress="http://www.auto22industry.com/auto22new/manager/web/api/catalog";
$rootScope.apiAddress3="http://www.auto22industry.com/auto22new/manager/web/api";
$scope.choosen={};
services.listservices().then(function(allServices){
$scope.Accservices=[];
$scope.Accservices=allServices.data;
for(var i=0; i<=$scope.Accservices.length; i++){
if($routeParams.servicename==$scope.Accservices[i].id){
$scope.choosen=$scope.Accservices[i];
break;
};
};
console.log($scope.choosen.name);
});
/*List all the cathegories and their subcathegories*/
subCathegorie.listSubCathegorie().then(function(subcathegories){
$scope.Acccathegories=[];
if(subcathegories.data){$scope.loader1=false;}
$scope.Acccathegories=subcathegories.data;
console.log($scope.Acccathegories);
});
$scope.messages={};
$scope.askDevis = function(Devis){
console.log("In the ask devis function");
/*for(var monService in $scope.Accservices){
console.log("In the for loop");
console.log(Devis.service);
console.log(Devis.nom);
console.log($scope.Accservices[monService].name);
if(Devis.service == $scope.Accservices[monService].name){
$scope.askedService = $scope.Accservices[monService];
console.log($scope.askedService);
break;
};
};*/
devis.sendDevisRequest(Devis.nom, Devis.email, Devis.telephone, Devis.objet, Devis.service, Devis.message).then(function(validation){
$scope.messages=validation;
console.log($scope.messages);
});
if($scope.messages){
console.log('opening pop up');
var $uibModalInstance = $uibModal.open({
templateUrl: 'Popup.html',
controller: 'PopupCont'
});
}else{
console.log('opening pop up');
var $uibModalInstance = $uibModal.open({
templateUrl: 'PopupErr.html',
controller: 'PopupCont'
});
}
};
temoignages.listalltemoignages().then(function(allTemoignages){
$scope.Temoignages=[];
$scope.Temoignages=allTemoignages.data.data;
});
})
.controller('PopupCont', function($scope, $uibModalInstance){
$scope.close = function() {
$uibModalInstance.dismiss('');
};
})
.service('devis', function($http, $rootScope){
var validation={};
this.sendDevisRequest = function(nom, email, telephone, objet, service, description) {
var req = {
method: 'POST',
url: $rootScope.apiAddress + '/devis/create',
data: {
"name": nom,
"email": email,
"phone": telephone,
"object": objet,
"service": service,
"description": description
}
}
return $http(req).then(function(response){
validation=response;
});
}
});
ich Ihre Lösung angewendet haben, aber nicht scheint nicht zu funktionieren – Paty