我如何合并这两位代码,并且有人可以解释密钥和值的含义。 我正在建立一个通知系统,我想要存储最后一个新的notification_id,但是如果它是相同的那么一遍又一遍地插入div,那么ajax会在我的服务器中搜索其他任何可能是新的。
的Ajax
<script type="text/javascript">
function loadIt() {
var notification_id="<?php echo $notification_id['notification_id'] ;?>"
$.ajax({
type: "GET",
url: "viewajax.php?notification_id="+notification_id,
dataType:"json",
cache: false,
success: function(dataHandler){
}
});
}
setInterval(loadIt, 10000);
</script>
Localstrorage
window.localStorage.setItem('key', 'value');
var dataHandler = function (response){
var isDuplicate = false, storedData = window.localStorage.getItem ('key');
for (var i = 0; i < storedData.length; i++) {
if(storedData[i].indexOf(response) > -1){
isDuplicate = true;
}
}
if(!isDuplicate){
storedData.push(response);
}
};
var printer = function(response){
if(response.num){
$("#notif_actual_text-"+notification_id).prepend('<div id="notif_actual_text-'+response['notification_id']+'" class="notif_actual_text"><a href="'+response['notification_id']+'">'+response['notification_content']+' </a><br />'+response['notification_time']+'</div></nr>');
$("#mes").html(''+ response.num + '');
}
};
答案 0 :(得分:1)
你用jQuery手工混淆了oldschool Ajax。 jQuery中success
函数的参数不是函数名或处理函数。它是一个变量名,它将包含来自服务器的响应。成功函数本身等同于您以旧方式创建的处理函数。
所以不是:
success: function(dataHandler){ }
...
...
var dataHandler = function (response){
而是:
success: function(response) { doCallsToSaveToLocalStorage(response); }