gpt4 book ai didi

javascript - 比较 ajax 的响应 - jQuery

转载 作者:行者123 更新时间:2023-11-30 16:41:12 25 4
gpt4 key购买 nike

我正在尝试将 ajax 的响应与我从响应 ajax 附加的一些 div 的内容进行比较。

function triggerLoc()
{
var htmlCont = $('#Pre_Div').text();
$.ajax({
type : "POST",
url : "url",
success : function(data){
var txt = $(data).text();
if(htmlCont != txt)
{
$('#Pre_Div').prepend(data);
}
else
{
alert('Content is same');
}
setTimeout(triggerLoc, 2000);
}
}

我的 ajax 成功数据在将其转换为 text()

后看起来完全像这样
                      Name - B7
Location - cant-1
[12-08-2015 17:45:35 (27 minutes ago) ]





Name - A1
Location - pro-1
[12-08-2015 17:43:50 (29 minutes ago) ]






Name - B7
Location - cant-2
[12-08-2015 17:46:42 (26 minutes ago) ]





Name - A1
Location - pro-2
[12-08-2015 17:44:35 (28 minutes ago) ]

其中包括空格、换行符。因此,每 2 秒设置一次超时,即使文本相同,控件也会每次都进入 if(htmlCont != txt) 。我的警报不会执行。如何将 ajax 响应与我附加的 html 内容进行比较?

最佳答案

我假设数据变量是 JSON。我强烈不推荐以 JSON 和 DOM 方式进行比较。

您可以使用 JavaScript 变量进行比较。创建一个空变量,然后在第一次调用 ajax 函数时赋值。你可以这样比较。

var appliedData;

function triggerLoc() {

$.ajax({
type : "POST",
url : "url",
success : function(data) {

// Check applied data on DOM with new data is same

if ( appliedData != data ) {

appliedData = data;
// Assign new value to global variable.

$('#Pre_Div').prepend(data);
// I recommend change this line. Parse json to html and append it

} else {

alert('Content is same');

}

setTimeout(triggerLoc, 2000);

}

}

关于javascript - 比较 ajax 的响应 - jQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31966109/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com