所以,我有一个ajax调用来获取一些JSON响应。我收到的很好,但它在一个选择中显示在html上并显示为空。
js代码在这里:
//INICIO FUNCION CARGAREDITORESCREAR
function cargarEditoresCrear() {
$.ajax({
type: 'POST',
dataType: 'json',
url: 'php/listar_editores.php',
async: false,
error: function(xhr, status, error) {
},
success: function(data) {
$('#editores2').empty();
$.each(data, function() {
$('#editores2').append(
$('<option > </option>').val(this.id_editor).html(this.persona_contacto)
);
});
},
complete: {
}
});
}
//FIN FUNCION CARGAREDITORESCREAR
php代码就是这个:
<?php
header('Access-Control-Allow-Origin: *');
/* Database connection information */
include("mysql.php" );
/*
* Local functions
*/
function fatal_error($sErrorMessage = '') {
header($_SERVER['SERVER_PROTOCOL'] . ' 500 Internal Server Error');
die($sErrorMessage);
}
/*
* MySQL connection
*/
if (!$gaSql['link'] = mysql_pconnect($gaSql['server'], $gaSql['user'], $gaSql['password'])) {
fatal_error('Could not open connection to server');
}
if (!mysql_select_db($gaSql['db'], $gaSql['link'])) {
fatal_error('Could not select database ');
}
mysql_query('SET names utf8');
/*
* SQL queries
* Get data to display
*/
$sQuery = "select id_editor, persona_contacto from editor order by persona_contacto";
$rResult = mysql_query($sQuery, $gaSql['link']) or fatal_error('MySQL Error: ' . mysql_errno());
$resultado = array();
while ($fila = mysql_fetch_array($rResult)) {
$resultado[] = array(
'id_editor' => $fila['id_editor'],
'persona_contacto' => $fila['persona_contacto']
);
}
echo json_encode($resultado);
?>
服务器响应正常,所以有:
[{"id_editor":"1","persona_contacto":"juako"},{"id_editor":"2","persona_contacto":"pepe"}]
可能插入的HTML就是这个:
<div class="form-group">
<label for="editores2" class="col-sm-2 control-label">Nombre Editores*:</label>
<div class="col-sm-10">
<select multiple id="editores2" name="editores2" >
</select>
</div>
</div>
我变得绝望,因为昨天工作正常,突然间它停止工作
谢谢大家!
编辑: 在这里我加载函数
$('#creaDoc').click(function(e) {
e.preventDefault();
//oculto tabla muestro form
$('#tabla').fadeOut(100);
$('#formularioCrear').fadeIn(100);
cargarEditoresCrear();
cargarMediosCrear();
cargarClientesCrear();
});
答案 0 :(得分:1)
function cargarEditoresCrear() {
$.ajax({
type: 'POST',
dataType: 'json',
url: 'php/listar_editores.php',
async: false,
error: function(xhr, status, error) {
},
success: function(data) {
$('#editores2').empty();
$.each(data, function() {
$('#editores2').append('<option value="'+data["id_editor"]+'" >'+data["persona_contacto"]+'</option>')
});
},
complete: {
}
});
}
//FIN FUNCION CARGAREDITORESCREAR
答案 1 :(得分:0)
试试这个:
$.each(data, function(id_editor, persona_contacto) {
$('#editores2').append(
$('<option > </option>').val(id_editor).html(persona_contacto)
);
});
Suerte!