我正在尝试实现ajax调用以从服务器获取一些数据。 早些时候,这些数据被硬编码到JS中。所以我减少了页面加载并从服务器获取数据。我得到的数据用于页面上的许多地方。
现在我同时使用$.ajax
和$.getJson
。
$.getJSON(reqUrl)
.done(function(data){
searchvars = data;
})
$.ajax({
url: reqUrl,
type: 'GET'
})
.done(function(data){
searchvars = data;
})
如果$.getJson
,一切正常。
但是在$.ajax
的情况下,它会给出"未找到变量"的错误。这意味着$.ajax
请求在获取数据并分配给"变量"时迟到了。
我的问题是为什么$.getJson
完美无缺,$.ajax
没有。你有没有更好的方法解决这个问题?
谢谢!
答案 0 :(得分:1)
试试这个。在您的$ .ajax中,您设置了dataType ='GET',这是错误的。
$.getJSON(reqUrl)
.done(function(data){
searchvars = data;
})
$.ajax({
url: reqUrl,
type: 'GET',
dataType: 'json'
})
.done(function(data){
searchvars = data;
})
答案 1 :(得分:0)
$ .getJSON等同于以下内容:
$.ajax({
dataType: "json",
url: url,
data: data,
success: success
});
如果提供了所有正确的参数,则$ .ajax的行为与$ .getJSON的行为不同。确保在使用$ .ajax时没有犯任何其他错误。