已创建以下脚本来测试db字段的值是否已更改,如果是,则重新加载页面,如果不是,则提醒用户未发生更改。为什么不是.post和.html调用可以在jQuery中的if(条件)中进行比较?
该警报仅用于查看.post函数返回的内容。
auto_refresh工作正常,因为我需要它检查每5秒,当if()条件设置为'=='页面警报显示,如果它设置为'!='页面不断重新加载。
jQuery.post获取db字段数据,但它似乎无法正确比较2个值。
任何帮助将不胜感激,谢谢
var auto_refresh = setInterval(function(){
$.post("/index.php/listen", function(data) {
if($('#slide').html() != data)
{
window.location.reload()
}
else
{
alert('its the same'+ data);
}
});
}, 5000);
EDITED
而不是试图解析原始数据,为什么不从$。员额通过HTML(),如:
<p>4</p>
然后jQuery插入用新的版本替换p标签从$ .post() ,因为传递的HTML没有空白空间和公司rison可以被正确地制作。
您是否比较了控制台上的值?写'console.log($('#slide')。html(),data)'。 – 2012-07-12 14:01:30
使用一个调试器([没有任何理由](http://blog.niftysnippets.org/2011/03/no-excuse.html)),并设置比较断点,然后检查'数据'和返回'.html()'的值(理想情况下,首先将它放在一个变量中,以使生活变得简单)。没有实际的调试工作的替代品。据推测'.html()'返回的东西*有点不同于'data'(前后的空白,诸如此类)。 – 2012-07-12 14:01:58
正在添加空白区域,但直到它被指出时才错过,谢谢。我已经尝试过变量,但相同的结果回来了,我需要一种去掉我认为的空白空间的方式。 – starks 2012-07-12 15:02:04