0

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

var xmlfile;

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

console.log(xmlfile);
4

3 回答 3

3

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

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

试试上面的。

于 2013-09-17T05:07:57.207 回答
1

你可以这样做

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

或设置 async : false,

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

喜欢看到alert(data)它是否意味着您通过ajax调用获得了成功的响应

于 2013-09-17T05:13:25.657 回答
0
var xmlfile;

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

console.log(xmlfile);

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

于 2013-09-17T05:13:03.057 回答