Anonymní profil Marek – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil Marek – Programujte.comAnonymní profil Marek – Programujte.com

 

Příspěvky odeslané z IP adresy 2a00:1028:8382:1912:b4f4:...–

Marek
PHP › JQuery ajax + php
10. 2. 2016   #208523

#4 chita
udělal jsem, výsledek bohužel stále stejný 

Marek
PHP › JQuery ajax + php
10. 2. 2016   #208521

#2 chita
ať tam dám obojí: jquery ajax vyhodí error: Requested JSON parse failed.

Marek
PHP › JQuery ajax + php
10. 2. 2016   #208519

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? 

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032022 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý