Ahoj...
potýkám se s problémem:
Ajaxem posílám data z formuláře a společne s tím i SVG, vše funguje správně v Chrome, Opera, Vivaldi, Firefox, ale opět únavný Internet Explorer(Trident) nezpracuje proměnou, kde je SVG(vše ostatní ano). IE hlásí zprávu Undefined index:
neřešili jste někdy stejný problém?
díky
A ktery IE to mate? Aby vubec mel podporu SVG.
Citace od: JardaP . kdy 14. 10. 2016, 12:20:05
A ktery IE to mate? Aby vubec mel podporu SVG.
IE 11
nejde o podporu SVG, protoze samotne SVG se zobrazí správně, v tom problem neni, spise to vypada, ze ma problem Ajaxem poslat to SVG na server(PHP) ke zpracovani
No a byla by ukazka kodu a na jakem radku to hlasi ten "udenfined index"?
Citace od: ehmmm kdy 14. 10. 2016, 13:31:24
No a byla by ukazka kodu a na jakem radku to hlasi ten "udenfined index"?
jQuery/Ajax:
....
$( "#createPDF" ).click(function(event) {
event.preventDefault();
var svg = document.getElementById("svg");
var svgElement = svg.contentDocument;
var svgpic = svgElement.getElementById("svg-g6e100");
var structureSVG = svgpic.outerHTML;
......
......
$.ajax({
type:'POST',
url: '/pdf/configuration-create-pdf.php',
data: { structureSVG: structureSVG }
..........PHP:
$post_data = $_POST["structureSVG"];
//zkusil jsem take:
$post_data = isset($_POST["structureSVG"]) ? $_POST["structureSVG"] : "SVG not found";Undefined Index: structureSVG in on line .....
Tu chybu hlásí IE na klientovi (js) nebo PHP na serveru?
Na ruznych mistech se pise o problemech jQuery s IE. Treba tady: http://stackoverflow.com/questions/20326285/ajax-data-not-passed-to-php-correctly-only-in-internet-explorer . Ale je to dost stare, tak evim,jestli to porad plati. Ale u MS spousta veci plati hodne dlouho a nekdy take plati po nejakem casu znovu.
Citace od: dustin kdy 14. 10. 2016, 13:59:19
Tu chybu hlásí IE na klientovi (js) nebo PHP na serveru?
vrati se mi to na klienta v Response
Citace od: JardaP . kdy 14. 10. 2016, 14:00:07
Na ruznych mistech se pise o problemech jQuery s IE. Treba tady: http://stackoverflow.com/questions/20326285/ajax-data-not-passed-to-php-correctly-only-in-internet-explorer . Ale je to dost stare, tak evim,jestli to porad plati. Ale u MS spousta veci plati hodne dlouho a nekdy take plati po nejakem casu znovu.
ten prohlizec IE by meli zakazat, s tim je leta trapeni...stale a stale
Citace od: ZAJDAN kdy 14. 10. 2016, 14:07:20
Citace od: dustin kdy 14. 10. 2016, 13:59:19
Tu chybu hlásí IE na klientovi (js) nebo PHP na serveru?
vrati se mi to na klienta v Response
Takze to haze PHP?
Citace
Takze to haze PHP?
pokud je to v response na klientovi, usuzuju logicky, ze to prislo z PHP, ovsem v logu apache nic nevidim
A uz si niekedy pouzil nieco ako napr. Fiddler (https://www.telerik.com/download/fiddler (https://www.telerik.com/download/fiddler)) aby si vedel kde co lieta?
Citace od: NooN kdy 14. 10. 2016, 15:37:12
A uz si niekedy pouzil nieco ako napr. Fiddler (https://www.telerik.com/download/fiddler (https://www.telerik.com/download/fiddler)) aby si vedel kde co lieta?
pouzivam debugger v browseru...fiddler je neco vic?
Citace od: ZAJDAN kdy 14. 10. 2016, 15:49:25
pouzivam debugger v browseru...fiddler je neco vic?
Co já vím, Fiddler je hlavně pro sdílení spustitelných ukázek na inernetu, místo vkládání kódu do diskuzního příspěvku. Ale v tomto případě by to ještě chtělo phpfiddle.
Zkoušel jste do atributu structureSVG nacpat něco jiného? Jako
{ structureSVG: 'test' } - funguje to potom?
Co říká var_dump ($_POST) ?
Když už tam stejně máte jQuery, nebude to fungovat lépe s $("svg-g6e100").html() ?
Citace od: borekz kdy 14. 10. 2016, 18:22:54
Citace od: ZAJDAN kdy 14. 10. 2016, 15:49:25
pouzivam debugger v browseru...fiddler je neco vic?
Co já vím, Fiddler je hlavně pro sdílení spustitelných ukázek na inernetu, místo vkládání kódu do diskuzního příspěvku. Ale v tomto případě by to ještě chtělo phpfiddle.
Fiddler ti odchytava komunikaciu medzi serverom a klientom, takze vidis co ti kde lieta.
Citace od: cleb kdy 15. 10. 2016, 10:42:36
Zkoušel jste do atributu structureSVG nacpat něco jiného? Jako
{ structureSVG: 'test' } - funguje to potom?
pokd zkusim toto v IE, tak to v debuggeru->response vidim to co tam skutecne je, ale IE to svg nechce pro PHP predat spravne
outerHTML ti u svg v IE nevrátí nic, SVG totiž není html a nemůžeš k němu takhle přistoupit, v tom je celý problém. Hodnota, kterou dostaneš je undefined a na server se takový klíč v jsonu nepošle, proto ti php vyhazuje undefined index, což bys mimochodem měl ošetřovat.
Řešení můžeš vyčíst z tohohle snippetu, ač není vhodné takhle upravovat objekty v js, může ti to stačit:
https://gist.github.com/jarek-foksa/2648095
SVGElement je v tvém případě svgpic
Citace od: Tomas2 kdy 17. 10. 2016, 12:46:50
outerHTML ti u svg v IE nevrátí nic, SVG totiž není html a nemůžeš k němu takhle přistoupit, v tom je celý problém. Hodnota, kterou dostaneš je undefined a na server se takový klíč v jsonu nepošle, proto ti php vyhazuje undefined index, což bys mimochodem měl ošetřovat.
super..tak tato rada mě paradně pomohla...díky tomu objasnění jak se chová IE
hned mě napadlo ten zachycený DOM ze SVG prohnat pres
.serializeToString(oDOMNode)a uz to valí!
díky moc