Solved

Coldfusion Ajax timer probelms

Posted on 2009-05-20
6
688 Views
Last Modified: 2013-12-24
So i needed to be able to check an inbox, and found this post:
http://www.experts-exchange.com/Software/Server_Software/Web_Servers/ColdFusion/Q_24346330.html?sfQueryTermInfo=1+10+8+ajax+coldfus+timer

My problem is that in firefox nothing happens & IE throws an error - ive since found out, im getting "Error thrown and not caught" at line 798 within cfajax.js

Current result can be seen at http://www.brandirectorv2.com/test.cfm
<!--- test.cfm --->
<cfajaxproxy cfc="includes.inbox" jsclassname="inboxProxy">
<head>
<script type="text/javascript">
var p = new inboxProxy();
var checkInbox = function(userid){
 p.setCallbackHandler(updateInbox);
 p.setErrorHandler(pErr);
 p.checkUserInbox(userid);
};
var updateInbox = function(result){
 document.getElementById("messagecount").innerHTML = " ("+result+")";
};
var pErr = function(code, message){
 alert("Error! Could not check your inbox...\nError Code: "+code+"\nError Message: "+message);
};
var initInboxCheck = function(userid){
 checkInbox(userid);
 setInterval(checkInbox(userid), 5000);
};
</script>
</head>
<cfset user_id="1">
<body onload="initInboxCheck(<cfoutput>#user_id#</cfoutput>);">
<div id="header"><a href="viewinbox.cfm">INBOX<span id="messagecount"></span></a></div>
</body>
</html>
 
<!--- includes/inbox.cfc --->
<component displayname="inbox" output="no">
<cffunction name="checkUserInbox" access="remote" returntype="numeric" output="no">
 <cfargument name="userID" type="numeric" required="yes">
 <cfset var queryInbox = "">
 <cfquery name="queryInbox" datasource="#request.dsn#" username="#request.uid#" password="#request.pwd#">
 SELECT * FROM tbl_messages WHERE msg_to = <cfqueryparam cfsqltype="cf_sql_integer" value="#arguments.userID#">
 </cfquery>
 <cfreturn queryInbox.recordcount />
</cffunction>
</component>

Open in new window

0
Comment
Question by:j-tanner
  • 3
  • 3
6 Comments
 
LVL 27

Accepted Solution

by:
azadisaryev earned 250 total points
ID: 24437833
the correct tag is <CFcomponent> - not <component>...

Azadi
0
 
LVL 27

Assisted Solution

by:azadisaryev
azadisaryev earned 250 total points
ID: 24437841
yes, i see i had that typo in my code in the other question... sorry! my bad!

Azadi
0
 
LVL 27

Assisted Solution

by:azadisaryev
azadisaryev earned 250 total points
ID: 24437852
i have posted an update in the other question, so hopefully no one else will fall into this... sorry you had to be the one!

Azadi
0
Migrating Your Company's PCs

To keep pace with competitors, businesses must keep employees productive, and that means providing them with the latest technology. This document provides the tips and tricks you need to help you migrate an outdated PC fleet to new desktops, laptops, and tablets.

 

Author Comment

by:j-tanner
ID: 24438486
Hi,

Thankyou for the reply, that has stopped the cfajax error :), however the script is still failing...
Firebug shows:

useless setInterval call (missing quotes around argument?)
                                   setInterval(checkInbox(userid), 5000);

I researched setInterval & many say that whilst you can call a function, you cant pass a variable? if i put speech marks around it, it still stops & firebug says "userid is not defined"

Any thoughts?
0
 

Author Comment

by:j-tanner
ID: 24438568
Actually, i solved it :D... you may want to update code in he other post as well...

i replaced:

setInterval(checkInbox(userid), 5000);

with:

setInterval(function(){checkInbox(userid)}, 5000);
0
 

Author Closing Comment

by:j-tanner
ID: 31583601
Thankyou for your help
0

Featured Post

PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

CFGRID Custom Functionality Series -  Part 1 Hi Guys, I was once asked how it is possible to to add a hyperlink in the cfgrid and open the window to show the data. Now this is quite simple, I have to use the EXT JS library for this and I achiev…
The Confluence of Individual Knowledge and the Collective Intelligence At this writing (summer 2013) the term API (http://dictionary.reference.com/browse/API?s=t) has made its way into the popular lexicon of the English language.  A few years ago, …
This video shows how to quickly and easily add an email signature for all users on Exchange 2016. The resulting signature is applied on a server level by Exchange Online. The email signature template has been downloaded from: www.mail-signatures…
Established in 1997, Technology Architects has become one of the most reputable technology solutions companies in the country. TA have been providing businesses with cost effective state-of-the-art solutions and unparalleled service that is designed…

806 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question