我在页面上有一个表,每次数据库添加一条记录时都应刷新(SQL Server 2005)。应刷新的页面称为status.cfm,jquery src(script)标记和jquery代码封装在标记中,jquery代码被假定为'触发一个名为chknew.cfm的单独CF页面(在同一个目录中)。我应该将JS / JQ分离到自己的文件中吗?我很擅长使用jQuery。我将我现在的(非工作)解决方案基于这个提问者的解决方案,删除了对DataTables库的引用:
Is there a way to 'listen' for a database event and update a page in real time?
这是我的非工作代码:
status.cfm :(调用页面?)
<html><head><title>Status List</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.js"></script>
<script type="text/javascript" charset="utf-8">
var originalNoRecs=0;
var setChecker=setInterval(chkForNewRec,5000); //5 sec intervals
function chkForNewRec(){
var postData={
noOfRecs:originalNoRecs
};
var ajaxResponse=$.ajax({
type:"post",
url:"./chknew.cfm",
contentType:"application/json",
data:JSON.stringify(postData)
})
ajaxResponse.then(
function(apiResponse){
var obj=jQuery.parseJSON(apiResponse);
if(obj.isUpdateAvail=="Yes")
{
document.location.reload(true);
alert('New Line Added!');
}
});
}
</script>
</head>
...后面是用数据库中的相关数据标记表的代码。我在JS中留下了警报线,这样我就可以测试代码是否正在触发,但事实并非如此。这是chknew.cfm(在同一目录中):
chknew.cfm :(处理程序?)
<cfset requestbody=tostring(gethttprequestdata().content)/>
<cfif isjson(requestbody)>
<cfset deserializedresult=deserializejson(requestbody)>
<cfset noOfRecs=deserializedresult.originalNoRecs>
<cfquery name="qCount" datasource="mydsn">SELECT COUNT(kid) AS total FROM kiosk</cfquery>
<cfif qCount.total NEQ variables.originalNoRecs>
{"isUpdateAvail":"Yes","recordcount":<cfoutput>#qCount.total#</cfoutput>}
<cfelse>
{"isUpdateAvail":"No"}
</cfif>
</cfif>
我也尝试过使用Firefox Dev Tools&gt; Debugger尝试逐步浏览JS / JQ,但无济于事,它只是一次性加载整个JavaScript块,而不是逐行完成,我可能设置错了。我非常精通CF,但只涉足JS而且没有jQuery的经验,但做了不少网上搜索,为什么这段代码不起作用,对这些代码没有任何乐趣。 / p> 如果它是显而易见的事情,我不会感到惊讶,我已经尝试了一些修改,但都无济于事。如果有人可以帮助我,我会非常感激,我有一位经理不理解为什么这会赢得工作&#34;而且我也很困惑。我的背景是网络管理,所以这有点在我的舒适区之外。提前感谢您对此问题的回答和见解。
编辑:我在FF中使用了Venkman,但它似乎一直在撞击我。据我所知,它停在&#34; Var ajaxResponse = $。ajax({...&#34; line。我已经提供了各个步骤的屏幕提示:
因此,我的jQuery安装/版本可能出现问题?我是否需要将jQuery文件实际放在我的Web根目录上?我的印象是包括