此AJAX调用返回“undefined”。我不确定我做错了什么以及为什么这不起作用:
var xmlfile;
$.ajax({
type: 'GET',
url: 'sample.xml',
dataType: 'xml',
success: function(data){
xmlfile = $(data);}
});
console.log(xmlfile);
答案 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);
试试这个,由于异步调用你未定义,你的日志在从服务器获得结果之前执行