代码
uri = 'http://www.test.com/';
$.ajax({
url: uri,
success: function(msg){
sc.searchcontents = msg;
alert(sc.searchcontents);
}
});
alert(sc.searchcontents);
警告未定义,然后提醒页面的源代码。
答案 0 :(得分:1)
ajax的加载功能在加载后运行。但是,当ajax加载其url时,页面上的javascript将继续运行。您首先看到的警报是您的ajax调用之外的警报(未定义),然后是ajax调用中的警报(源代码)。
进行测试,尝试在代码示例末尾加一个延迟。你会明白我的意思。
答案 1 :(得分:1)
在完成ajax之前调用第二个警告框,因为默认情况下ajax调用是异步的。添加async:false子句,这应解决您的问题。
答案 2 :(得分:0)
您如何确定它是否有效?
您收到的错误消息是什么?
您是否阅读过jQuery Ajax Documentation?
为了帮助您确定正在发生的事情,请尝试添加error
功能:
uri = 'http://www.test.com/';
$.ajax({
url: uri,
success: function(msg){
sc.searchcontents = msg;
alert(sc.searchcontents);
}
error: function(XMLHttpRequest, textStatus, errorThrown) {
alert(errorThrown);
}
});