reklama

AJAX upload a PHP zpracování

ZAJDAN

  • *****
  • 1 888
    • Zobrazit profil
    • E-mail
AJAX upload a PHP zpracování
« kdy: 06. 08. 2015, 13:13:43 »
Ahoj,
mam trochu nestandardni pripad:
na webu formular obsahujici SVG, ktere se dle interaktivity uzivatele meni, uzivatel formular odesle a v ten moment potrebuji na server toto svg ulozit.

- To jsem si nachystal javascripetm kde pomoci '.outerHTML'  dostanu do promene kompletni strukturu aktualniho svg (pravdepodobne string)
- Nasledne bych tuto promenou poslal ajaxem na server s partametrem url:'uploadSVG.php'
- predpokladam ze PHP zpracuje pozadavek ve kterem zachytne string a ted potrebuji poradit jak v PHP nastavit aby to ulozilo do souboru s datovym   
  typem .svg

díky
Vesele, vesele do továrny dělník běží...vesele, vesele do továrny jde. Vesele se usmívá když mu soustruh zazpívá...vesele, vesele do továrny jde. Vesele si poskočí když se soustruh roztočí ...vesele, vesele do továrny jde.

reklama


ZAJDAN

  • *****
  • 1 888
    • Zobrazit profil
    • E-mail
Re:AJAX upload a PHP zpracování
« Odpověď #1 kdy: 06. 08. 2015, 15:08:51 »
js:
var structureSVG = svgpic.outerHTML;
ajax attribut:
data:'structureSVG',
zkusil jsem si zatím sestrojit php zpracovaní na strane serveru:
Kód: [Vybrat]
$post_data = $_POST['structureSVG'];
if (!empty($post_data)) {
                            $dir = '/pdf/modelSVG/';
                            $file = uniqid().getmypid();
                            $filename = $dir.$file.'.svg';
                            $handle = fopen($filename, "w");
                            fwrite($handle, $post_data);
                            fclose($handle);
                            echo $file;
                        }

ted mi neni jasne zda v php POSTu mam zachytavat 'data' nebo 'structureSVG'
Vesele, vesele do továrny dělník běží...vesele, vesele do továrny jde. Vesele se usmívá když mu soustruh zazpívá...vesele, vesele do továrny jde. Vesele si poskočí když se soustruh roztočí ...vesele, vesele do továrny jde.

Hmmm

Re:AJAX upload a PHP zpracování
« Odpověď #2 kdy: 06. 08. 2015, 15:17:09 »
A preco si to nevyskusas? Vypis si cez var_dump co sa ti nechadza v POST a budes mat jasnejsie.  :)

ZAJDAN

  • *****
  • 1 888
    • Zobrazit profil
    • E-mail
Re:AJAX upload a PHP zpracování
« Odpověď #3 kdy: 06. 08. 2015, 15:25:19 »
v PHP to bude  hodnota attributu data
problem bude v tom ze nevim jak by mel presne vypadat zapis promene do attributu data

Kód: [Vybrat]
var structureSVG = svgpic.outerHTML;
.....
.......
dataType: 'json',
data:{structureSVG:$structureSVG}

?
Vesele, vesele do továrny dělník běží...vesele, vesele do továrny jde. Vesele se usmívá když mu soustruh zazpívá...vesele, vesele do továrny jde. Vesele si poskočí když se soustruh roztočí ...vesele, vesele do továrny jde.

ZAJDAN

  • *****
  • 1 888
    • Zobrazit profil
    • E-mail
Re:AJAX upload a PHP zpracování
« Odpověď #4 kdy: 06. 08. 2015, 15:35:12 »
co se týče ajaxu attributu data, tak takto by to mělo být správně:
var structureSVG = svgpic.outerHTML;
........
data:'structureSVG='+structureSVG,
Vesele, vesele do továrny dělník běží...vesele, vesele do továrny jde. Vesele se usmívá když mu soustruh zazpívá...vesele, vesele do továrny jde. Vesele si poskočí když se soustruh roztočí ...vesele, vesele do továrny jde.

reklama


ZAJDAN

  • *****
  • 1 888
    • Zobrazit profil
    • E-mail
Re:AJAX upload a PHP zpracování
« Odpověď #5 kdy: 06. 08. 2015, 16:00:00 »
dostal jsem se o kus dal ale pri zpracovani ajaxu mi debuger vyhodi:
XMLHttpRequest cannot load No 'Access-Control-Allow-Origin' header is present on the requested resource.
Vesele, vesele do továrny dělník běží...vesele, vesele do továrny jde. Vesele se usmívá když mu soustruh zazpívá...vesele, vesele do továrny jde. Vesele si poskočí když se soustruh roztočí ...vesele, vesele do továrny jde.

ZAJDAN

  • *****
  • 1 888
    • Zobrazit profil
    • E-mail
Re:AJAX upload a PHP zpracování
« Odpověď #6 kdy: 07. 08. 2015, 09:16:56 »
tak tento problem s pristupem byl zpusoben, ze jsem v ajaxu mel v parametru url zapasanou celou verejnou cestu
v mem pripade se cela akce deje v ramci stejneho webu, opravil jsem tedy url a je klid

co me trapi ted je jak debugovat php, to co prichazi do POST
Vesele, vesele do továrny dělník běží...vesele, vesele do továrny jde. Vesele se usmívá když mu soustruh zazpívá...vesele, vesele do továrny jde. Vesele si poskočí když se soustruh roztočí ...vesele, vesele do továrny jde.

pepa

Re:AJAX upload a PHP zpracování
« Odpověď #7 kdy: 07. 08. 2015, 09:36:48 »
ve firefoxu zkus firebug

ten vestaveny debugovaci nastroj jak firefox tak chrome sou prisery

ZAJDAN

  • *****
  • 1 888
    • Zobrazit profil
    • E-mail
Re:AJAX upload a PHP zpracování
« Odpověď #8 kdy: 07. 08. 2015, 10:45:36 »
vypozoroval jsem že pokud mám v php:

Kód: [Vybrat]
$post_data = $_POST['structureSVG'];

echo '<pre>';
print_r($post_data);
echo '</pre>';

ajax vratí error
Vesele, vesele do továrny dělník běží...vesele, vesele do továrny jde. Vesele se usmívá když mu soustruh zazpívá...vesele, vesele do továrny jde. Vesele si poskočí když se soustruh roztočí ...vesele, vesele do továrny jde.

huggog

Re:AJAX upload a PHP zpracování
« Odpověď #9 kdy: 07. 08. 2015, 11:08:16 »
Já bych řekl, že pro nás nejasnozřivé, by jsi mohl zveřejnit co za error vrací php. Pokud sem hodíš jen "error" a útržky kódu,tak lze jen hádat čím to je..
ale skusím to :-) vypiš si tam radsi print_r($_POST), jestli tam vůbec něco pošleš

Hmmm

Re:AJAX upload a PHP zpracování
« Odpověď #10 kdy: 07. 08. 2015, 11:22:00 »
Uz vcera som mu pisal, ze ma vypisat $_POST cez var_dump aby videl co v nom vlastne ma a podla toho to formatoval... :)

ZAJDAN

  • *****
  • 1 888
    • Zobrazit profil
    • E-mail
Re:AJAX upload a PHP zpracování
« Odpověď #11 kdy: 07. 08. 2015, 11:35:14 »
upresnim to tedy:
js:
Kód: [Vybrat]
var structureSVG = svgpic.outerHTML;
                                $.ajax({
                                                type:'POST',
                                                url: '/pdf/uploadSVG.php',
                                                dataType: 'json',
                                                contentType: 'application/json',
                                                data:'structureSVG='+structureSVG,
                                                success: function() { alert("Success"); },
                                                error: function() { alert('Failed!'); },
                                                });
php:
Kód: [Vybrat]
<?php
$post_data 
$_POST['structureSVG'];
var_dump($post_data);
?>

browser vyhodi Failed!
Vesele, vesele do továrny dělník běží...vesele, vesele do továrny jde. Vesele se usmívá když mu soustruh zazpívá...vesele, vesele do továrny jde. Vesele si poskočí když se soustruh roztočí ...vesele, vesele do továrny jde.

rootacek

  • *
  • 47
  • Linux je dobrá volba, Windows je cesta do pekla!
    • Zobrazit profil
    • E-mail
Re:AJAX upload a PHP zpracování
« Odpověď #12 kdy: 07. 08. 2015, 11:52:32 »
upresnim to tedy:
js:
Kód: [Vybrat]
var structureSVG = svgpic.outerHTML;
                                $.ajax({
                                                type:'POST',
                                                url: '/pdf/uploadSVG.php',
                                                dataType: 'json',
                                                contentType: 'application/json',
                                                data:'structureSVG='+structureSVG,
                                                success: function() { alert("Success"); },
                                                error: function() { alert('Failed!'); },
                                                });
php:
Kód: [Vybrat]
<?php
$post_data 
$_POST['structureSVG'];
var_dump($post_data);
?>

browser vyhodi Failed!

Zkusil bych,

Kód: [Vybrat]
var structureSVG = svgpic.outerHTML;
                                $.ajax({
                                                type:'POST',
                                                url: '/pdf/uploadSVG.php',
                                                dataType: 'json',
                                                contentType: 'application/json',
                                                data:{structureSVG: structureSVG},
                                                success: function() { alert("Success"); },
                                                error: function() { alert('Failed!'); },
                                                });

huggog

Re:AJAX upload a PHP zpracování
« Odpověď #13 kdy: 07. 08. 2015, 12:24:14 »
místo $.ajax použij $.post
a skus ten firebug, co ti uz nekdo psal.. je v nem konzole, kde se ti zobrazi ten ajaxovy request i s odpovedi, v ktere bude co vratil server, tam by mela byt i chyba z php, ze $_post tam neni..
jinak tohle si najdes i tech default debuggerech co jsou v ff a chrome

huggog

Re:AJAX upload a PHP zpracování
« Odpověď #14 kdy: 07. 08. 2015, 12:27:27 »
tak nic, ze tam je type:'POST' jsem si vsiml hned jak odeslal :) kazdopadne debugger a to co vraci server te zajima..

 

reklama