?
Solved

Coldfusion Ajax timer probelms

Posted on 2009-05-20
6
Medium Priority
?
694 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 3
6 Comments
 
LVL 27

Accepted Solution

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

Azadi
0
 
LVL 27

Assisted Solution

by:azadisaryev
azadisaryev earned 1000 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 1000 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
Plug and play, no additional software required!

The ATEN UE3310 USB3.1 Gen1 Extender Cable allows users to extend the distance between the computer and USB devices up to 10 m (33 ft). The UE3310 is a high-quality, cost-effective solution for professional environments such as hospitals, factories and business facilities.

 

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

Get MySQL database support online, now!

At Percona’s web store you can order your MySQL database support needs in minutes. No hassles, no fuss, just pick and click. Pay online with a credit card.

Question has a verified solution.

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

Introduction HyperText Transfer Protocol (http://www.ietf.org/rfc/rfc2616.txt) or "HTTP" is the underpinning of internet communication.  As a teacher of web development I have heard many questions, mostly from my younger students who have come to t…
What You Need to Know when Searching for a Webhost Provider
NetCrunch network monitor is a highly extensive platform for network monitoring and alert generation. In this video you'll see a live demo of NetCrunch with most notable features explained in a walk-through manner. You'll also get to know the philos…
This tutorial will teach you the special effect of super speed similar to the fictional character Wally West aka "The Flash" After Shake : http://www.videocopilot.net/presets/after_shake/ All lightning effects with instructions : http://www.mediaf…
Suggested Courses

770 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