Javascript函数在ajax请求之前执行
我有一个函数用于显示用户添加到其购物车的购物车列表 首先,当用户尚未登录时,从localStorage显示项目 显示的项目将更改其详细信息,只要用户成功登录,这些详细信息都来自web服务 由于每个用户的价格水平不同,localStorage和web服务中的项目详细信息可能不同。所以我想比较localStorage中的items detail和web服务中的items detail,如果两者不同,则删除localStorage中的所有数据,并将从web服务获取的新数据改为localStorage 以下是我尝试过的:Javascript函数在ajax请求之前执行,javascript,jquery,html,wcf,Javascript,Jquery,Html,Wcf,我有一个函数用于显示用户添加到其购物车的购物车列表 首先,当用户尚未登录时,从localStorage显示项目 显示的项目将更改其详细信息,只要用户成功登录,这些详细信息都来自web服务 由于每个用户的价格水平不同,localStorage和web服务中的项目详细信息可能不同。所以我想比较localStorage中的items detail和web服务中的items detail,如果两者不同,则删除localStorage中的所有数据,并将从web服务获取的新数据改为localStorage
this.showItem = function(){
var cartObject = self.getCartObjectFromLocalStorage(); //get all data from localStorage
var result = "";
$.ajax({
url:"urlstring",
type:"POST",
dataType:"json",
contentType: "application/json",
data : JSON.stringify(cartObject),
success:function(res){
result = res;
},
error:function(res){
result="";
},
async : false
});
if((JSON.stringify(cartObject.CartLists) === JSON.stringify(result) == false)){ //if data in localStorage not equal data get from web service
self.deleteAllItemInLocalStorage();
window.localStorage.setItem(localStorage_.Cart,serializeObjToJSON(result));
}
return result;
}
当函数deleteAllItemInLocalStorage()执行时,从web服务获取的结果将为空。但是我想要的是result
仍然存储从web服务获取的数据
我如何删除localStorage中的所有数据,但结果是来自web服务的数据
谢谢。听起来很多这样的逻辑应该在服务器Domo中实现,然后再次从服务器获取数据,一切都应该正常:)@HanletEscaño:从服务器获取数据很好,只是我的删除功能在ajax请求工作之前工作,所以当数据格式错误时ajax将出错。