大家!
我认为我的json.parse有问题
我将带有ajax的表单提交到php页面。
index.php - full code
jQuery('#inserir_certificado_usuario').submit(function(){
var dados = jQuery( this ).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; i < 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>
这样收到数据。
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 for 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 which would cause errors in JavaScript
$json_resposta = str_replace("\\n", " ", $json_resposta);
echo "$json_resposta";
//echo something like this
//{"certificado":[{"id_trabalho":"13","titulo_trabalho":"O PROBLEMA DA DEGRADAÇÃO AMBIENTAL E GESTÃO NO MUNICÍPIO DE GUARAMIRANGA - CEARÁ: UM OLHAR SOBRE A LEI 110\/2005","id_usuario":"8","nome_autor":"Ariana Rodrigues Bezerra ","autenticador":"OHIC.SRZL.NZAT.W2PQ.A5X0.KYKD"}]}
因此,返回index.php我使用&#34;成功方法&#34;从
index.php
...
success: function(data)
{
var data = data;
...
我检索完数据后,我想使用此代码创建一些带有javascript和数据的html元素:
index.php
...
var arr = JSON.parse(data);
var i;
var out = "";
for(i = 0; i < 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;
但有些我在index.php上遇到此错误(mozilla firebug):
SyntaxError:JSON.parse:JSON数据第1行第1列的意外字符 的的console.log(JSON.parse(数据))
发生了什么事?我是新来的。有人可以帮帮我吗? 最好的问候,伙计们!