为什么我在这个ajax请求后无法提醒x值? 我使用错误功能。
var x;
$.ajax({
url: 'http://gdata.youtube.com/feeds/api/videos/' + code,
type: 'get',
dataType: 'json',
success: function(data) {
console.log('Result 1: ');
console.log(data.responseText);
},
error: function(e) {
var text = e.responseText;
parser = new DOMParser();
xmlDoc = parser.parseFromString(text, "text/xml");
var titleXml = xmlDoc.getElementsByTagName('title')[0];
var contentXml = xmlDoc.getElementsByTagName('content')[0];
title = titleXml.childNodes[0];
content = contentXml.childNodes[0];
x = title;
}
});
alert(x);
如果我在错误函数中使本地警报一切正常,但我需要在ajax之后提醒x值。
答案 0 :(得分:2)
$.ajax({
url: 'http://gdata.youtube.com/feeds/api/videos/' + code,
type: 'get',
dataType: 'json',
success: function(data) {
console.log('Result 1: ');
console.log(data.responseText);
alert(x);
// ^^^^^^^^when get any success then use alert on ajax success
},
error: function(e) {
var text = e.responseText;
parser = new DOMParser();
xmlDoc = parser.parseFromString(text, "text/xml");
var titleXml = xmlDoc.getElementsByTagName('title')[0];
var contentXml = xmlDoc.getElementsByTagName('content')[0];
title = titleXml.childNodes[0];
content = contentXml.childNodes[0];
x = title;
alert(x);
// ^^^^^^^^when get any error then use alert on ajax error
}
});
答案 1 :(得分:1)
如果Ajax请求完成错误或成功,则会调用错误或成功函数,因此如果您警告函数外部的值,则将值赋值给x的代码将不会执行。
x的值是在请求完成后分配的,所以它可以在你在错误函数中被警告的情况下工作。
答案 2 :(得分:0)
请试用此代码:
var x;
$.ajax({
url: 'http://gdata.youtube.com/feeds/api/videos/' + code,
type: 'get',
dataType: 'json',
success: function(data) {
x = 0;
console.log('Result 1: ');
console.log(data.responseText);
},
error: function(e) {
var text = e.responseText;
parser = new DOMParser();
xmlDoc = parser.parseFromString(text, "text/xml");
var titleXml = xmlDoc.getElementsByTagName('title')[0];
var contentXml = xmlDoc.getElementsByTagName('content')[0];
title = titleXml.childNodes[0];
content = contentXml.childNodes[0];
x = title;
}
});
alert(x);
你的错误是什么?