#4 chita
udělal jsem, výsledek bohužel stále stejný
Příspěvky odeslané z IP adresy 2a00:1028:8382:1912:b4f4:...–
Marek
Marek
Zdravím,
zkouším udělat web a pomocí ajaxu odesílám do Kontroleru třídy AjaxKontroler registrační údaje a chtěl bych po jejich zpracování do databéze vrátit JSON který si zpracuju v JS, mám front controler, na který je pomocí .htacess vše přesměrováno, index.php:
<?php
session_start();
// Nastavení interního kódování pro funkce pro práci s řetězci
mb_internal_encoding("UTF-8");
if ($_POST)
{
// Callback pro automatické načítání tříd controllerů a modelů
require("kontrolery/Kontroler.php");
require("modely/SpravceUzivatelu.php");
require("kontrolery/AjaxKontroler.php");
require("modely/Db.php");
// Připojení k databázi
Db::pripoj("127.0.0.1", "root", "", "wormsfarm");
$ajax = new AjaxKontroler();
header("Content-Type: application/json", true);
echo($ajax->zpracuj(array($_SERVER['REQUEST_URI'])));
}
else
{
require("pohledy/rozlozeni.phtml");
}
dále v JS mám Jquery ajax :
$.ajax({
type: "POST",
url: "wormsfarm.localhost.com/ajax/registrovat/",
data: {
"email": email,
"heslo": heslo,
"hesloznovu": hesloznovu,
"jmeno": jmeno,
"prijmeni": prijmeni,
"telefon": telefon,
"ulice": ulice,
"mesto": mesto,
"psc": psc,
"captcha": captcha
},
success: function (data) {
console.log(data);
$("#registrace").html("Registrace proběhla úspěšně!<br>Potvrďte registraci klepnutím na odkaz v aktivačním emailu.");
setTimeout(function () {
$("#registrace").delay(6800).hide();
$("#zatmeni").delay(6800).hide();
}, 3000);
}
Kontroler ajaxu má metodu:
public function registrovat()
{
if ($_POST)
{
$spravceUzivatelu = new SpravceUzivatelu();
$spravceUzivatelu->registruj($_POST['email'],$_POST['heslo'],$_POST['hesloZnovu'],$_POST['jmeno'],$_POST['prijmeni'],$_POST['telefon'],$_POST['ulice'],$_POST['mesto'],$_POST['psc'],$_POST['captcha']);
$email= $_POST['email'];
$jmeno= $_POST['jmeno'];
$prijmeni= $_POST['prijmeni'];
$telefon= $_POST['telefon'];
$ulice= $_POST['ulice'];
$mesto= $_POST['mesto'];
$psc= $_POST['psc'];
$navraceno = array("id"=> 5 ,
"email"=> $email,
"jmeno"=> $jmeno,
"prijmeni"=> $prijmeni,
"telefon"=> $telefon,
"ulice"=> $ulice,
"mesto"=> $mesto,
"psc"=> $psc);
}
return json_encode($navraceno);
}
nicméně se mi nedaří vrátit do JS žádný JSON a vyskakuje stále error. Data se bez problému uloží do databáze.
Nevím jestli dělám chybu někde v .htacces, nebo vracím json špatnou cestou, pročetl sem všemožné diskuse ale nic.
Uměl by někdo prosím poradit, kterým směrem se zaměřit, kde by mohla být chyba?