设置var成功

时间:2014-09-25 16:51:30

标签: javascript ajax

我有这个代码,警报工作正常并返回正确的值grom php文件,但Var总是未定义:

var NombreUrl;

function marck(id) {
  $.ajax({ 
    data: { id_propiedad: id },
    type: "GET",
    dataType: "json",  
    url: "/ajax/armarURL.php", 
    success: function(respuesta) {
      alert(respuesta);
      NombreUrl = respuesta;
    },
    error: function(respuesta) {
      NombreUrl = 'error';
      //alert('no');
    }                                       
  });
  $( "#listado" ).append( '<li id="marca'+id+'"><a href="'+NombreUrl+'">test</a></li>' );
}

php文件正在返回:

$nombreURL = 'test.php';
echo json_encode($nombreURL);

我有一个警告白&#34; test.php&#34;但是NombreUrl var是未定义的。 有任何想法吗? 谢谢!

1 个答案:

答案 0 :(得分:1)

Ajax是异步的。您需要移动开始的行:

$( "#listado" ).append( '<li id="marca...

进入你的成功功能,如下:

success: function(respuesta) {
  alert(respuesta);
  NombreUrl = respuesta;
  $( "#listado" ).append( '<li id="marca...
},