以下代码对服务器进行API调用,并以JSON的形式获取响应。然后它将JSON对象转换为字符串并使用相应的jQuery函数解析它并将其存储到本地存储并加载页面。我想在成功时执行此操作并在失败时抛出错误消息。我尝试了.done()
和.fail()
函数,但它抛出了一个未捕获的表达式错误。
$.getJSON(apiURL,
{'call':'login','email':uname, 'pwd':password},
function(data){
localStorage.setItem('testObject', data.id);
$.ui.loadContent("home", null, null, "fade");
}
);
有人可以如何将onSuccess和onFailure添加到此代码中?
答案 0 :(得分:3)
我尝试了.done()和.fail()函数,但它抛出了一个未捕获的表达式错误。**
.done
和.fail
确实是这样做的,听起来你的代码尝试使用它们会产生语法错误。
$.getJSON(apiURL, { 'call': 'login', 'email': uname, 'pwd': password })
.done(function() {
// Handle success
var obj = JSON.stringify(data); // <=== These lines are
var parsed = JSON.parse(obj); // <=== completely pointless
localStorage.setItem('testObject', parsed.id);
//alert(localStorage.getItem('testObject'));
$.ui.loadContent("home", null, null, "fade");
})
.fail(function() {
// Handle failure
});
答案 1 :(得分:1)
尝试使用
$.getJSON(apiURL, { 'call': 'login', 'email': uname, 'pwd': password })
.done(function() {
var data = JSON.stringify(data);
//...
});
.fail(function(){
console.log('failure');
});
您也可以
result = $.get('url',{param1:'param'});
result.done(function(data){
//handle success
});
result.done(function(){
//handle failure
});