我有一个骨干代码,如下面的
owned: function(){
this.url = this.options.url.owned;
this.parse = function(users){
return users.map(function(user){
return user;
});
};
this.fetch({
data: {
screen_name : login
}
});
}
当我执行代码时,我得到以下jquery错误
TypeError: elem is null
return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();
将jquery库升级到1.10后会发生这种情况。在我拥有1.8.3并且一切正常之前。
我的控制器
@RequestMapping(value = "/rest/users/suggestions",
method = RequestMethod.GET,
produces = "application/json")
@ResponseBody
public Collection<User> suggestions() {
String login = authenticationService.getCurrentUserLightVersion().getLogin();
return suggestionService.suggestUsers(login);
}
响应正常,但我现在的解析方法存在一些问题。它是否有可能给出这样的错误,因为该集合是空的。但是在1.8.3中,jquery正在对空集合执行解析。 任何线索。?
答案 0 :(得分:0)
jQuery 1.9+在解析ajax响应时比&lt; = 1.8.x更严格。
例如,如果您使用Content-Type:application / json获取文档但是响应为空,则它将执行jxhr.error,因为空字符串不是有效的JSON数据。
因此,在开始调试代码之前,请尝试调试请求。