php.de

Zurück   php.de > Webentwicklung > JavaScript, Ajax und mehr

JavaScript, Ajax und mehr dynamisches Scripten und Interaktion auf Clientebene

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 06.10.2011, 15:50  
Benutzer
 
Registriert seit: 02.12.2010
Beiträge: 37
PHP-Kenntnisse:
Fortgeschritten
Atikos zeigte ein beschämendes Verhalten in der Vergangenheit
Standard decodeURIComponent auf Ajax Content (jQuery)

Hallo,

kann es sein das jQuery nicht mit decodeURIComponent umgehen kann?

Folgendes ist mein Problem:
Mittels Ajax lade ich einen Inhalt für eine Seite.
Zurückgegeben wird ein JSON-String ungefähr so:
Code:
{"id":"1","html":"der html code php urlencoded"}
Der HTML Code wird mittels urlencode() encodiert, sodass sich die Anführungszeichen valide für JSON sind.

jQuery Ajax:
Zitat:
jQuery.ajax({
type: "POST",
url: abspath + 'ajax/content.php',
data: data,
dataType: 'json',
success: function(json){
content = String(json.html);
$( "#box"+json.id ).html( decodeURIcomponent(content) );
},
error: function(error){
alert(error);
}
});
Nur leider funktioniert das decodeURIcomponent nicht und ich verstehe nicht warum?

Was mache ich falsch oder ist die herangehensweise verkehrt?

Besten Dank und Gruß
Atikos ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 06.10.2011, 15:54  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Bitte Fehlerkonsole zu Rate ziehen. Ich tippe mal auf diese Zeile: content = String(json.html);
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 06.10.2011, 16:04  
Benutzer
 
Registriert seit: 02.12.2010
Beiträge: 37
PHP-Kenntnisse:
Fortgeschritten
Atikos zeigte ein beschämendes Verhalten in der Vergangenheit
Standard

Hi,

wenn in der Fehlerkonsole etwas stehen würde, hätte ich es mitgepostet.
Der Typecast macht nichts, aber wenn ich z.B. anstatt
content =String(json.html);
diesen hier verwende:
content = decodeURIcomponent(json.html);
wird mit
$( "#box"+json.id ).html( content );
nichts angezeigt.

Gruß

Geändert von Atikos (06.10.2011 um 16:16 Uhr).
Atikos ist offline   Mit Zitat antworten
Alt 06.10.2011, 16:17  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

alert()
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 06.10.2011, 16:32  
Benutzer
 
Registriert seit: 02.12.2010
Beiträge: 37
PHP-Kenntnisse:
Fortgeschritten
Atikos zeigte ein beschämendes Verhalten in der Vergangenheit
Standard

alert("Json: "+json.html);
Gibt urlencoded() String aus.
content = json.html;
alert("Content: "+content);
Gibt den urlencoded() String aus.
alert("Dec: "+decodeURIcomponent(content));
Gibt nichts aus!?

Unerklärliches phänomen.
Atikos ist offline   Mit Zitat antworten
Alt 06.10.2011, 16:33  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Dann ist der Code vielleicht falsch encodiert?
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 06.10.2011, 16:41  
Benutzer
 
Registriert seit: 02.12.2010
Beiträge: 37
PHP-Kenntnisse:
Fortgeschritten
Atikos zeigte ein beschämendes Verhalten in der Vergangenheit
Standard

Wie meinst du das?

Fürs encodieren benutze ich die PHP-Funktion urlencode().
Hat das eventuell mit Charsets zu tun, UTF-8/ISO?

LG
Atikos ist offline   Mit Zitat antworten
Alt 06.10.2011, 23:44  
Moderator
 
Benutzerbild von Chriz
 
Registriert seit: 11.05.2008
Beiträge: 6.266
Chriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer Anblick
Standard

Wozu urlencode? Mit json_encode auf PHP-Seite ist schon alles so kodiert wie es sein soll und wenn du alles richtig konfigurierst bzw. verwendest wie es sein sollte (getJSON(), $.post(.., "json")) brauchst du niemals urlencode oder decodeURIComponent.
__________________
"Nuschel ich?" - "Was?"
Chriz ist offline   Mit Zitat antworten
Alt 07.10.2011, 01:34  
Benutzer
 
Registriert seit: 02.12.2010
Beiträge: 37
PHP-Kenntnisse:
Fortgeschritten
Atikos zeigte ein beschämendes Verhalten in der Vergangenheit
Standard

Hallo Chriz,

ich dachte bisher immer, folgenden Weg unternehmen zu müssen:
Content der vom PHP Script ausgeliefert wird encodieren um einen validen JSON-String zu erhalten.
(Nicht überall wo das laufen soll ist die json_encode() Funktion vorhanden, deshalb habe ich in meinem Script mit einem simplen echo den JSON-String ausgegeben.
Sodass korrekter HTML-Code angezeigt wird, muss ich jetzt auf Javascriptseite die Zeichenkette decodieren.
Das war bisher immer mein denkvorgang.

Macht das decoding jQuery automatisch, wenn ich sag, der dataType der returned wird ist json?

LG

EDIT:
Gerade einen Test gemacht.
Das decodeURIcomponent rausgenommen und im PHP-Script json_encode() Funktion verwendet.
PHP-Code:
$arr = Array("bid"=>$request['id'], "html"=>$html); 
Wenn ich die Antwort von Ajax-Request auslese steht bei "html":null siehe
{"id":"1","html":null}

Geändert von Atikos (07.10.2011 um 01:48 Uhr).
Atikos ist offline   Mit Zitat antworten
Alt 07.10.2011, 02:28  
Erfahrener Benutzer
 
Benutzerbild von tr0y
 
Registriert seit: 26.07.2010
Beiträge: 4.865
PHP-Kenntnisse:
Fortgeschritten
tr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblick
tr0y eine Nachricht über MSN schicken
Standard

Sollen wir jetzt ins blaue Raten und mutmaßen das $html dann wohl leer war ?
__________________
Lasse mir ohne Anwendung von Gewalt Dinge schenken, Amazon weiß darüber bald mehr.
tr0y ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
jQuery UI Tabs komplett mit AJAX laden und letzt gewählten Tab wählen K00S JavaScript, Ajax und mehr 6 10.09.2011 13:54
Datagrid in Jquery easy ui mittels AJAX füllen in Zend MLang JavaScript, Ajax und mehr 0 03.09.2011 01:48
[Erledigt] IE 7 jQuery Ajax drsoong JavaScript, Ajax und mehr 3 28.06.2011 10:49
JQuery Ajax Suche im Facebook Style smilla JavaScript, Ajax und mehr 7 17.03.2011 10:14
jQuery und blättern von content jackie1983 JavaScript, Ajax und mehr 10 24.02.2011 22:30
jQuery (crossdomain) Ajax halskrause JavaScript, Ajax und mehr 10 01.09.2010 18:36
[Erledigt] jQuery - Per Ajax geladenes Javascript ausführen? benAsks JavaScript, Ajax und mehr 4 16.08.2010 23:39
Ajax - Dynamic Content mit JS in DIV laden nickBee HTML, Usability und Barrierefreiheit 8 30.07.2010 14:46
[Erledigt] jQuery Ajax .post - Datensätze in mySQL speichern ThomasM JavaScript, Ajax und mehr 1 29.03.2010 07:31
[Erledigt] Ajax, jQuery - CKEDITOR Fehler bei Instanzierung jGeee JavaScript, Ajax und mehr 3 26.03.2010 09:09
Ajax Content Parsen mittels PHP omex PHP Tipps 2010 4 24.03.2010 22:07
jQuery Ajax und $(this) Problem halskrause JavaScript, Ajax und mehr 8 01.03.2010 17:39
jQuery mit AJAX ohne ActiceX im IE? krush JavaScript, Ajax und mehr 2 11.08.2009 08:54
Drag & Drop via JQuery & Ajax --> Geht nicht :( Plague JavaScript, Ajax und mehr 2 23.10.2008 12:19

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php decodeuricomponent, jquery decodeuricomponent, decodeuricomponent php, decodeuricomponent, javascript decodeuricomponent, decodeuricomponent jquery, easyui with zend, jquery ajax php json, data: decodeuricomponent(, ajax decodeuricomponent, decodeuricomponent() php, ajax dedodeuricomponent, decodeuricomponent ajax, ajax problem with decodeuricomponent, jquery to php decodeuricomponent, jquery ajax post decodeuricomponent, php decode uricomponent, jquery html anführungszeichen im string, jquery automatisch decodieren, jquery decodeuricomponent()

Alle Zeitangaben in WEZ +2. Es ist jetzt 11:36 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum