AJAX调用返回undefined

时间:2013-09-17 05:05:30

标签: ajax

此AJAX调用返回“undefined”。我不确定我做错了什么以及为什么这不起作用:

var xmlfile;

 $.ajax({
    type: 'GET',
    url: 'sample.xml',
    dataType: 'xml',
    success: function(data){
    xmlfile = $(data);}
    });

console.log(xmlfile);

3 个答案:

答案 0 :(得分:3)

这可能是一个时间问题,因为您在调用返回之前引用了xmlFile变量。相反,您必须将引用移动到成功回调中。

 $.ajax({
    type: 'GET',
    url: 'sample.xml',
    dataType: 'xml',
    success: function(data){
    xmlfile = data;
    console.log(xmlfile); 
    }
    });

尝试以上方法。

答案 1 :(得分:1)

你可以通过

来做到这一点
$.ajax({
    type: 'GET',
    url: 'sample.xml',
    dataType: 'xml',
    success: function(data){
    xmlfile =  data ;}
 });

或设置async : false,

你可以通过调试来检测错误/问题,这样你就可以看到你在哪里做错了

比如看alert(data)它就意味着你通过ajax调用获得成功的响应

答案 2 :(得分:0)

var xmlfile;

 $.ajax({
    type: 'GET',
    url: 'sample.xml',
    dataType: 'xml',
    async : false,
    success: function(data){
    xmlfile = $(data);}
    });

console.log(xmlfile);

试试这个,由于异步调用你未定义,你的日志在从服务器获得结果之前执行