943,083 Members | Top Members by Rank

Ad:
May 20th, 2007
-1

AJAX not working on firefox

Expand Post »
Hi...
I'm developing a simple script using AJAX and php to update a database...But the script is running fine on IE but not at all
on Firefox2.0.0.3....Please help me out
Here's my AJAX script

var xmlHttp

function showUser(str)
{
xmlHttp=GetXmlHttpObject()
if (xmlHttp==null)
{
alert ("Browser does not support HTTP Request")
return
}
var url="http://127.0.0.1/testminor/minor.php"
url=url+"?q="+str
url=url+"&sid="+Math.random()
xmlHttp.onreadystatechange=stateChanged
xmlHttp.open("GET",url,true)
xmlHttp.send(null)
}

function stateChanged()
{
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
{
document.getElementById("txtHint").innerHTML=xmlHttp.responseText
}
}

function GetXmlHttpObject()
{
var xmlHttp=null;
try
{
// Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
}
catch (e)
{
//Internet Explorer
try
{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
}
return xmlHttp;
}
Similar Threads
Reputation Points: 14
Solved Threads: 1
Junior Poster in Training
himanjim is offline Offline
67 posts
since Jul 2006
May 20th, 2007
0

Re: AJAX not working on firefox

Are you getting any specific errors in the firefox error console? I believe FF will reject XMLHTTP connections to pages that aren't on the same domain that the script runs from; I imagine that's amplified by the fact you're trying to connect to 127.0.0.1... Easiest way to get around this is to use relative/server absolute URLS in XMLHTTP opens..

http://developer.mozilla.org/en/docs...etting_Started

Quote originally posted by Mozilla ...
As a security feature, you cannot call pages on 3rd-party domains. Be sure to use the exact domain name on all of your pages or you will get a 'permission denied' error when you call open(). A common pitfall is accessing your site by domain.tld, but attempting to call pages with www.domain.tld.
Moderator
Featured Poster
Reputation Points: 522
Solved Threads: 64
Veteran Poster
MattEvans is offline Offline
1,091 posts
since Jul 2006
May 20th, 2007
0

Re: AJAX not working on firefox

Thanks for ur reply...
I tried that + the link you gave me....But still IE accepts it and firefox don't.......
Reputation Points: 14
Solved Threads: 1
Junior Poster in Training
himanjim is offline Offline
67 posts
since Jul 2006
May 20th, 2007
0

Re: AJAX not working on firefox

Quote originally posted by MattEvans ...
Are you getting any specific errors in the firefox error console?
^ it would be helpful to list any errors you may, or may not, be recieving
Moderator
Featured Poster
Reputation Points: 522
Solved Threads: 64
Veteran Poster
MattEvans is offline Offline
1,091 posts
since Jul 2006
May 20th, 2007
0

Re: AJAX not working on firefox

I'm not getting any errors....
Just no output + no database update as I'm getting through IE
My html and php scripts are given below
These are just simple scripts....+
I wanna ask If firefox needs any plugin for AJAX
******************
<html>
<head>
<script src="clienthint1.js" language="javascript"></script>
</head>
<body>
<form name="form1">
<input type="text" name="ajaxtest">
<img height="30" width="50"src="Water lilies.jpg" onClick="showUser(document.form1.ajaxtest.value)">
</form>

<p>
<div id="txtHint"><b>User info will be listed here.</b></div>
</p>

</body>
</html>
*****************
And my php script is...
***********
<?php
$q=$_GET["q"];

$con = mysql_connect('localhost', 'root', 'anchal');
if (!$con)
{
die('Could not connect: ' . mysql_error());
}

mysql_select_db("goonj", $con)
or die("Database not selected");

$sql="INSERT into users(name) values('$q')";

mysql_query($sql)
or die("Error");

echo "<table border='1'>
<tr>
<th>DATABASE UPDATED</th>
</tr>";


echo "</table>";

mysql_close($con);
?>
****************
Reputation Points: 14
Solved Threads: 1
Junior Poster in Training
himanjim is offline Offline
67 posts
since Jul 2006
May 20th, 2007
0

Re: AJAX not working on firefox

I ftp'd your files up to a live host. There, I arranged the files like so:
JavaScript / DHTML / AJAX Syntax (Toggle Plain Text)
  1. www [folder]
  2. |_ temp [folder]
  3. |_ index.html (your html page)
  4. |_ clienthint1.js ( the javascript )
  5. |_ minor.php ( a php file that just echos 'OK', suitable for a test )
I had to change one line of your Javascript:
JavaScript / DHTML / AJAX Syntax (Toggle Plain Text)
  1. var url="http://127.0.0.1/testminor/minor.php"
  2. .. changed to ..
  3. var url="minor.php"
This meets the conditions of Firefox not allowing XMLHTTP open to 3rd party hosts; I could equally have used a full URL; but I'd have had to ensure I used the exact same domain to access the page.

The result is here: http://fusiongroups.net/temp

It works for the version of Firefox I have on Windows (1.0.7); try on yours, let me know if it says 'OK' when you click the button... If it does, the XMLHTTP open is working, and this means that there may still be a problem in that the domain you're using to access the page differs from the domain referenced in the XMLHTTP open() URL.

If the page at that link doesn't work (i.e. no OK when clicking the image), I'll swap operating system and have a look on the latest Firefox for you.
Moderator
Featured Poster
Reputation Points: 522
Solved Threads: 64
Veteran Poster
MattEvans is offline Offline
1,091 posts
since Jul 2006
May 20th, 2007
0

Re: AJAX not working on firefox

Thanks a lot for this...
I caught the problem
But as u know php scripts run under server only so as I'm test my scripts on xampp...The address 127.0.0.1 is mandatory for the scripts to run...unless I make directory structure like u have done...
Reputation Points: 14
Solved Threads: 1
Junior Poster in Training
himanjim is offline Offline
67 posts
since Jul 2006
May 20th, 2007
0

Re: AJAX not working on firefox

Try and test on a 'real server'; or make sure that you always also access the page with the Javascript directly from 127.0.0.1. Providing that you do that; you should be able to omit the 127.0.0.1 from the Javascript code (which also removes the need to change the code when you do go live).

Xampp sets up a system whereby you can access any kind of page in a folder using a http url, so you should certainly be able to make a folder structure similar to the one I did.
Moderator
Featured Poster
Reputation Points: 522
Solved Threads: 64
Veteran Poster
MattEvans is offline Offline
1,091 posts
since Jul 2006
May 21st, 2007
0

Re: AJAX not working on firefox

Ya I'll do that...Thnx a lot
Reputation Points: 14
Solved Threads: 1
Junior Poster in Training
himanjim is offline Offline
67 posts
since Jul 2006
May 21st, 2007
0

Re: AJAX not working on firefox

Himanjim, remember that you cannot connect to another domain using AJAX in Mozilla based browsers, so you can use just relative path of request like '/test/file.php'..
Reputation Points: 9
Solved Threads: 1
Newbie Poster
smalldog is offline Offline
20 posts
since May 2007

This thread is more than three months old

No one has posted to this discussion for at least three months. Please let old threads die and do not reply to them unless you feel you have something new and valuable to contribute that absolutely must be added to make the discussion complete. Otherwise, please start a new thread in this forum instead.
Message:
Previous Thread in JavaScript / DHTML / AJAX Forum Timeline: "add this site to your bookmarks" in firefox
Next Thread in JavaScript / DHTML / AJAX Forum Timeline: Round Numbers





About Us | Contact Us | Advertise | Acceptable Use Policy
Forum Index | Build Custom RSS Feed


Follow us on Twitter


© 2011 DaniWeb® LLC