Problema JSON in WordPress 3.0

13 nov 2010, 17:08:11
Visualizzazioni: 303
Voti: 2

Sto utilizzando il plugin Media Finder che funzionava bene su WordPress 2.9, ma da quando ho aggiornato a WordPress 3.0, la libreria JSON sans eval che il plugin utilizza non funziona più.

Non sono sicuro di quali siano state le modifiche al core tra la versione 2.9 e 3.0 riguardo al JSON.

Ecco uno screenshot di ciò che Firebug in Firefox mostra - il JSON viene effettivamente analizzato, ma non viene visualizzato. (Media Finder permette di cercare video tramite il media manager nei post)

Dato che json sans eval non è validante, non sono sicuro se WordPress 3.0 non lo supporti più.

Ecco l'URL del plugin:

http://wordpress.org/extend/plugins/media-finder/

Ecco lo screenshot dell'errore nel plugin:

https://i.sstatic.net/3jZVa.jpg

Chiunque possa aiutare sarebbe un salvavita, o anche solo spiegare cosa è necessario per convertire il codice da json sans eval a json2.js che ora è incluso in WordPress.

Il codice che dovrebbe essere convertito a json2 sarebbe la riga:

xhr = $.post(ajaxurl, params, function(data) { data = jsonParse(data);
0
Tutte le risposte alla domanda 1
3

Quando commento la linea:

@header('Content-type: application/json; charset=UTF-8');

funziona per me

p.s.

  1. c'è anche un tag di chiusura php di apertura senza la parola php
  2. c'è un tag di chiusura php alla fine che può essere rimosso
  3. c'è un notice su un indice non definito.
  4. sarebbe meglio usare $charset = get_option('blog_charset');

Non ho idea se questo: http://wordpress.org/support/topic/plugin-json-api-content-length-header abbia qualcosa a che fare con esso, o questo: http://core.trac.wordpress.org/ticket/11537 o questo: http://wordpress.org/support/topic/wordpress-gone-wild?replies=3 , non mi sono immerso nella questione.

13 nov 2010 21:18:25
Commenti

solo per segnalare, potrebbe essere irritante: "c'è anche un tag di chiusura php senza la parola php" -> i tag di chiusura php non hanno mai la parola php. è semplicemente ?>

hakre hakre
18 nov 2010 00:29:00

scusa... intendevo il tag di apertura (la seconda riga mi ha confuso), controlla il codice del plugin (l'ho notato perché non funzionava sul mio server, ho dovuto aggiungere "php")

edelwater edelwater
18 nov 2010 01:46:35

wow, beh questo è qualcosa che l'autore del plugin dovrebbe sistemare. è qualcosa che tutti noi dovremmo fare per il codice condiviso: aggiungere php nei tag di apertura poiché la versione breve (senza php) non funziona su tutti i server. Questa è davvero una cosa di cui l'autore del plugin dovrebbe essere informato.

hakre hakre
18 nov 2010 02:26:17