Antworten auf deine Fragen:
Neues Thema erstellen

Antworten zum Thema „JSON Problem "Verbogene Rückgabe"“

AxelM

Nicht mehr ganz neu hier

Ich erzeuge ein Array und konvertiere dieses in einen JSON-String.

PHP:
foreach($prodArr as $product_id )
    {
        $title = get_the_title( $product_id );
        $priceArr = getPriceArray1($product_id);

        $pricePerLiter = floatval(str_replace(",",".",getPricePerLiter1($priceArr,$amount)));
        $price = $pricePerLiter * $amount;
       
        $line = array('title_'.$a => $title, 'ppl_'.$a => $pricePerLiter,'price_'.$a => $price, 'id_'.$a => $product_id, 'amount_'.$a => $amount);
       
        $rtnArr[] = $line;
        $a++;
       
    }
  echo json_encode($rtnArr);

Die Rückgabe sieht folgendermaßen aus:
[{"title_1":"Heiz\u00f6l EL","ppl_1":0.5,"price_1":2000,"id_1":35,"amount_1":4000},{"title_2":"Heiz\u00f6l Premium","ppl_2":0.84,"price_2":3360,"id_2":43,"amount_2":4000},{"title_3":"Heiz\u00f6l EL BIO","ppl_3":0.73,"price_3":2920,"id_3":74,"amount_3":4000}]

Das verarbeitende Jquery findet sich hier:
Javascript:
jQuery( document ).ready(function() {
    var data = {
        action: 'preisrechnerGetPrices',
        amount: jQuery('#amountFormField').val()
    };
    jQuery("#preisrechnerFormSubmit").click(function(e) {
        e.preventDefault();
        jQuery.post(MyAjax.ajaxurl, data, function(response) {
            alert(response);
        });
    });
   
});

Das Resultat aus dem alert ist undefined

Ich vermute, dass hier ein charset Problem vorliegt.
Aber weder utf8_encode noch htmlentities noch url_encode schaffen abhilfe.
Vllt. hat ja jemand ne Lösung?

Die ganze Katastrophe kann man unter http://brennstoff24.net/preisrechner/ betrachten.

Danke schon mal für eure Antworten
 

AxelM

Nicht mehr ganz neu hier

[{"title_1":"Heiz\u00f6l EL","ppl_1":0.5,"price_1":2000,"id_1":35,"amount_1":4000},{"title_2":"Heiz\u00f6l Premium","ppl_2":0.84,"price_2":3360,"id_2":43,"amount_2":4000},{"title_3":"Heiz\u00f6l EL BIO","ppl_3":0.73,"price_3":2920,"id_3":74,"amount_3":4000}]

Das kommt vom phpscript zurück.
\u00f6 und das ist vermutlich das Problem. Ich schaffe es aber weder, es in ö oder ö zu wandeln.
 

hub

nicht ganz neu hier

Moin,
ich hab mal eben auf "Angebot erstellen" geklickt (FF und IE) und alert zeigt, was zurück kommt und nicht undefined.
Was genau ist das Problem, oder hast du das Problem schon gelöst?

Gruß Ulli
 

AxelM

Nicht mehr ganz neu hier

Hallo ich bin jetzt ein wenig weiter.... Das mit den Sonderzeichen habe ich gelöst.
Und ich finde, das JSON das zurückkommt (siehe alertbox) sieht auch nicht so übel aus
wenn ich allerdings response.parseJSON mache, wird das undefined.
Wie greife ich nun auf die einzelnen Felder zu?
 

Myhar

Hat es drauf

Sieht man sich die dokumentation an, dann erkennt man, dass man auch den erwarteten Rückgabewert angeben kann. In deinem Fall musst du die Funktion um "json" erweitern.
Verwende auch nicht alert, sondern besser console.log. Dann siehst du dein Objekt besser.
btw, im Chrome kannst du dei npreisrechnerGetPrices.js live bearbeiten und mit strg+s speichern, ich habe das File bei mir auf diesen Zustand verändert
Javascript:
jQuery( document ).ready(function() {
    var data = {
        action: 'preisrechnerGetPrices',
        amount: jQuery('#amountFormField').val()
    };
    jQuery("#preisrechnerFormSubmit").click(function(e) {
        e.preventDefault();
        jQuery.post(MyAjax.ajaxurl, data, function(response) {
           
            console.log(response);
           
        }, "json");
    });
   
});
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
175.182
Beiträge
2.582.055
Mitglieder
67.254
Neuestes Mitglied
MKP
Oben