/ / Nedá sa spustiť php kód, problém s uhlovým smerovaním - javascript, php, angularjs

Nie je možné spustiť php kód, problém s úhlovým smerovaním - javascript, php, angularjs

Stretol som sa toto predchádzajúce vlákno pri hľadaní pomoci v tejto záležitosti, ale neexistujú žiadne odpovede, takže som v rozpakoch.

Snažím sa odoslať formulár a dostať phppremenná na oplátku. Nemám žiadne problémy so samotným spustením testovacieho kódu, ale keď ho vložíte do uhlovej aplikácie s povoleným smerovaním, nemám žiadny výsledok. Kliknutím na tlačidlo Odoslať na smerovanej stránke sa nič nestane. Môžem niečo urobiť, aby som to vyriešil?

Tu je môj kód:

HTML + PHP

<form method="post">
<input type="submit" value="Submit" name="submit">
</form>

<?php if (isset($_POST["submit"])) {
echo "IF GOOD :)";
} else {
echo "ELSE BAD :(";
}?>

HTML

<div ng-app="app">
<div ng-view></div>
</div>

JS

var app = angular.module("app", ["ngRoute"]);

app.config(function ($routeProvider) {
$routeProvider
.when("/", {
templateUrl: "pages/begin.html",
controller: "mainController",
activePage: "begin"
});
});

odpovede:

0 pre odpoveď č. 1

Musíte dodať <form> s action="" atribút, aby váš kód fungoval.

Z Manuálny:

Od roly formulárov na strane klienta Angularaplikácie sú na rozdiel od klasických aplikácií pre spiatočné lety je žiaduce prehliadač neprekladá odoslanie formulára do úplného načítania stránky ktorý odošle údaje na server. Namiesto toho nejaká logika javascriptu by sa malo spustiť spracovanie formulára v spôsobom špecifickým pre aplikáciu.

Z tohto dôvodu Angular znemožňuje predvolenú akciu (odoslanie formulára na server), pokiaľ element nemá atribút akcie špecifikované.

Angular vás však odporúča používať ngSubmit a ajax žiadosti, ktoré nespôsobujú opakované načítanie stránky.


1 pre odpoveď č. 2

Používajte php iba na vkladanie / aktualizáciu / vymazanie údajov. inak zvládnuť všetko pomocou uhlového

Skúste to takto

bengin.html

<form >
<input type="submit" value="Submit" name="submit" ng-click="submit()">
</form>

mainController

$scope.submit=function(){
$http.post("msg.php", {submit:"hello word!"}).
success(function(data, status, headers, config) {
// this callback will be called asynchronously
// when the response is available
});
}

vytvoriť názov súboru msg.php

msg.php

<?php if (isset($_POST["submit"])) {
echo "IF GOOD :)";
} else {
echo "ELSE BAD :(";
}?>