Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Passare json da php a funzione javascript

    ciao!

    penso sia la sezione corretta, in caso scusate in anticipo!

    in pratica con php creo questo json:
    codice:
    [{"id":"6232","desc":"Gubbio","qta":"1","sku":"RIC-002-GUBBIO"},{"id":"6233","desc":"Assisi","qta":"1","sku":"RIC-002-ASSISI"},{"id":"6264","desc":"Just Live - American Ipa","qta":"1","sku":"BIR-000-JUSTLIVE"},{"id":"6263","desc":"Pura Vida - Pils","qta":"1","sku":"BIR-000-PURAVIDA"}]
    e lo devo impostare come parametro quando richiamo una funzione js.
    ho fatto così:
    codice:
    <button type="button" id="ordina_tb" class="btn btn-large" onclick="addToCart(<?php echo $id; ?>, false, '<?php echo json_encode($customItem); ?>');">
     Aggiungi al carrello
    </button>
    ma quando clicco sul bottone mi da questo errore:
    codice:
    Uncaught SyntaxError: '' string literal contains an unescaped line break
    nel sorgente della pagina ho visto una cosa strana:
    codice:
    <button type="button" id="ordina_tb" class="btn btn-large" 
    onclick="addToCart(7009, false, '[{" id":"6232","desc":"gubbio","qta":"1","sku":"ric-002-gubbio"},{"id":"6233","desc":"assisi","qta":"1","sku":"ric-002-assisi"},{"id":"6264","desc":"just="" live="" -="" american="" ipa","qta":"1","sku":"bir-000-justlive"},{"id":"6263","desc":"pura="" vida="" pils","qta":"1","sku":"bir-000-puravida"}]');"="">
        Aggiungi la Box al carrello
    </button>
    se guardate bene, ci sono alcune porzioni del json che non sono corrette.
    ad esempio:
    codice:
    {"id":"6264","desc":"just="" live="" -="" american="" ipa","qta":"1","sku":"bir-000-justlive"}
    ovviamente se lo stampo sulla pagina è tutto ok.
    qualche suggerimento??

  2. #2
    Usa https://www.php.net/urlencode per codificare il contenuto restituito da https://www.php.net/json_encode e poi in addToCart() usa decodeURI() e JSON.parse() per converitre la stringa in oggetto.

  3. #3
    ciao!

    penso di aver risolto anche così:
    codice:
    addToCart(<?php echo $id; ?>, false, '<?php echo htmlspecialchars($jsonCustom); ?>')
    appena posso prova anche la tua soluzione!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2023 vBulletin Solutions, Inc. All rights reserved.