javascript - How to retrieve data achieved through PHP and JSON properly (with parse) -
everybody!
i'm thinking have problem json.parse
i submitted form ajax php page.
index.php - full code jquery('#inserir_certificado_usuario').submit(function(){ var dados = jquery( ).serialize(); jquery.ajax({ type: "post", url: "../classes/processa_evento.php", data: dados, success: function(data) { var data = data; var arr = json.parse(data); var i; var out = ""; for(i = 0; < arr.certificado.length; i++) { out += "trabalho: " + arr.certificado[i].id_trabalho + " - " + arr.certificado[i].titulo_trabalho + "<br />usuário: " + arr.certificado[i].id_usuario + " - " + arr.certificado[i].nome_autor + "<br />autenticador nº: " + arr.certificado[i].autenticador + "<br /><a href='../certificados/ver_certificado.php?caso=0&autenticador="+arr.certificado[i].autenticador+"' target='certificado'>ver certificado</a>"; } out += ""; document.getelementbyid("divcarregadestinatarios").innerhtml = out; }, error: function() { //do nothing } }); return false; }); <div id='divcarregadestinatarios'></div>
the data received this.
processa_evento.php $autenticador = $_post[autenticador]; $id_certificado_base = $_post[id_certificado_base]; $id_evento_certificado = $_post[id_evento_certificado]; $id_trabalho = $_post[id_trabalho]; $titulo_trabalho = $_post[titulo_trabalho]; $id_usuario = $_post[id_usuario]; $nome_autor = $_post[nome_autor]; $timestamp_certificado = $_post[timestamp_certificado]; $token_trabalho = $_post[token_trabalho]; //create code json $json_resposta['certificado'] = array('id_trabalho'=>"$id_trabalho", 'titulo_trabalho'=>"$titulo_trabalho", 'id_usuario'=>"$id_usuario", 'nome_autor'=>"$nome_autor", 'autenticador'=>"$autenticador"); $json_resposta = json_encode($json_resposta, json_hex_tag | json_hex_apos | json_hex_quot | json_hex_amp | json_unescaped_unicode); //replace \\n cause errors in javascript $json_resposta = str_replace("\\n", " ", $json_resposta); echo "$json_resposta"; //echo //{"certificado":[{"id_trabalho":"13","titulo_trabalho":"o problema da degradaÇÃo ambiental e gestÃo no municÍpio de guaramiranga - cearÁ: um olhar sobre lei 110\/2005","id_usuario":"8","nome_autor":"ariana rodrigues bezerra ","autenticador":"ohic.srzl.nzat.w2pq.a5x0.kykd"}]}
so, returning index.php i'm retrieving data php page (processa_evento.php) through ajax using "success method":
index.php ... success: function(data) { var data = data; ...
after tha retrieved data, create html elements javascript , data using code:
index.php ... var arr = json.parse(data); var i; var out = ""; for(i = 0; < arr.certificado.length; i++) { out += "trabalho: " + arr.certificado[i].id_trabalho + " - " + arr.certificado[i].titulo_trabalho + "<br />usuário: " + arr.certificado[i].id_usuario + " - " + arr.certificado[i].nome_autor + "<br />autenticador nº: " + arr.certificado[i].autenticador + "<br /><a href='../certificados/ver_certificado.php?caso=0&autenticador="+arr.certificado[i].autenticador+"' target='certificado'>ver certificado</a>"; } out += ""; document.getelementbyid("divcarregadestinatarios").innerhtml = out;
but how i'm getting error (mozilla firebug) @ index.php:
syntaxerror: json.parse: unexpected character @ line 1 column 1 of json data console.log(json.parse(data))
what happening? i'm new @ this. me, please? best regards, folks!
Comments
Post a Comment