2015-03-27 1 views
1

Итак, у меня есть ajax-вызов для получения ответа JSON. Я получаю его хорошо, но его внутри выбрать, чтобы показать на html и показать его пустым.ajax response good, но не попадайте на выбор по HTML

, ИС-код здесь:

//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> 

Я отчаялась, потому что он работает нормально вчера, и вдруг перестанет работать

Спасибо всем!

Edit: Здесь я загружаю функция

$('#creaDoc').click(function(e) { 
      e.preventDefault(); 

      //oculto tabla muestro form 
      $('#tabla').fadeOut(100); 
      $('#formularioCrear').fadeIn(100); 
      cargarEditoresCrear(); 
      cargarMediosCrear(); 
      cargarClientesCrear(); 

     }); 
+0

Вы уверены, что все прошло отлично? 'editores2'! ==' clientes2' – jeroen

+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 
+0

Я получаю синтаксическую ошибку: Uncaught SyntaxError: Неожиданная строка –

+0

ups! код отредактирован;) – JuaRoAl

+0

он не загружается, я не знаю почему :( –

0

Попробуйте это:

$.each(data, function(id_editor, persona_contacto) { 
    $('#editores2').append(
     $('<option > </option>').val(id_editor).html(persona_contacto) 
    ); 
}); 

Суерте!

+0

it doesn ' t, но thx для ответа –

Смежные вопросы