• 1 رای - 5 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
این کد ajax چرا در IE کار می کنه ولی در فایرفاکس کار نمی کنه
#1
Lightbulb 
آقا من سرچ کردم تو سایتهای دیگه ولی جوابهایی که داده بودن هیچ کدوم درست نبود.
چرا این کد توی IE کار می کنه ولی توی FireFox کار نمی کنه؟
کد پی‌اچ‌پی:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html xmlns="http://www.w3.org/1999/xhtml">
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<
title>Untitled Document</title>
<
script language="javascript" type="text/javascript">

    var 
pageurl "getName.php?param=";
    var 
http getHttp();
    
    function 
Answer()
    {
        if(
http.readystate==4)
        {
            
http.responseText;
            
document.getElementById("tfname").value r;
        }
    }
    
    
    function 
SendCodeAndReciveName()
    {

        var 
code document.getElementById("tfcode").value;
        
http.open("GET"pageurl+codetrue);
        
http.onreadystatechange Answer;
        
http.send(null);
    }
    
function 
getHttp()
{
var 
xmlhttp;
try
{
xmlhttp = new ActiveXObject("msxml2.XMLHTTP");
}
catch(
e)
{
try
{
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
catch(
e)
{
if(
typeof XMLHttpRequest != "undefined")
{
xmlhttp = new XMLHttpRequest();
}
}

}
return 
xmlhttp;
}
    

</
script>
</
head>

<
body>
<
p>code :
  <
input name="tfcode" type="text" id="tfcode" />
  <
input type="button" name="Submit" value="get name" onClick="SendCodeAndReciveName()" />
  <
br />
  <
br />
  
city name:<input name="tfname" type="text" id="tfname" />
</
p>

</
body>
</
html
کد صفحه دیگر

کد پی‌اچ‌پی:
<?php
    $c 
$_GET["param"];
    
    if(
$c == "0311")
    {
        echo 
"Esfahan";
    }
    else
    echo 
"UnKnown"
?>
من احتمال میدم که مشکل از این قسمت باشه :
کد پی‌اچ‌پی:
catch(e)
{
if(
typeof XMLHttpRequest != "undefined")
{
xmlhttp = new XMLHttpRequest();

ولی نمی دونم چطور باید حل بشه.
بدان کوش تا زود دانا شوی
چو دانا شوی زود والا شوی

سایت شخصی
  پاسخ
تشکر شده توسط :
#2
تو فایرفاکس با فایرباگ می تونید request ها رو بررسی کنید
خیلی خوب می تونید خطایابی کنید
همه جوره اش رو داریم ظاهرن
  پاسخ
تشکر شده توسط :
#3
خب علت رو بفرمایید.
کنسول خطا میگه که TFCODE فرستاده نشده.
خب منم می دونم که فرستاده نشده چون موزیلا رو نمیشناسه .
چی بنویسم که موزیلا رو بشناسه؟
بدان کوش تا زود دانا شوی
چو دانا شوی زود والا شوی

سایت شخصی
  پاسخ
تشکر شده توسط :
#4
کدتون رو بزارین تا بررسی بشه
همه جوره اش رو داریم ظاهرن
  پاسخ
تشکر شده توسط :
#5
من کدم رو توی پست اول گذاشتم.
لطف کنید و بخونین ...
منتظر جوابتون هستم...
بدان کوش تا زود دانا شوی
چو دانا شوی زود والا شوی

سایت شخصی
  پاسخ
تشکر شده توسط :
#6
مشکلم حل نشد
کسی نیست جواب منو بده؟
بدان کوش تا زود دانا شوی
چو دانا شوی زود والا شوی

سایت شخصی
  پاسخ
تشکر شده توسط :
#7
اولآ بهتره که AJAX رو از اینجا شروع کنی البته به نظر من!!!
دومآ....
  پاسخ
تشکر شده توسط :
#8
شرمنده عزیزم
من اینقدر پیشرفته کار نکردم که بتونم پاسخ بدم
ببخشید
همه جوره اش رو داریم ظاهرن
  پاسخ
تشکر شده توسط :
#9
دوست عزیز
روش ساخت آبجکت در فایر فاکس با IE فرق داره:
کد:
<script type="text/javascript">
function ajaxFunction()
{
var xmlHttp;
try
  {
  // Firefox, Opera 8.0+, Safari
  xmlHttp=new XMLHttpRequest();
  }
catch (e)
  {
  // Internet Explorer
  try
    {
    xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
  catch (e)
    {
    try
      {
      xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
    catch (e)
      {
      alert("Your browser does not support AJAX!");
      return false;
      }
    }
  }
  }
</script>
  پاسخ
تشکر شده توسط : admin molana
#10
سلام
من دیگه از بس روی این موضوع وقت گذاشتم باید بگم که یه جورایی دیگه تمام خطوط ای جکس رو حفظ شدم.
البته توی این قسمت.
اینم کدی که بعد از 18 روز تونستم بالاخره بنویسمش.
کد پی‌اچ‌پی:
<script language="javascript" type="text/javascript">
   
//Define Your browser
   
var XMLHttpRequestObject false
     try { 
        
XMLHttpRequestObject = new ActiveXObject("MSXML2.XMLHTTP"); 
          } catch (
exception1) { 
         try { 
           
XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP"); 
              } catch (
exception2) { 
           
XMLHttpRequestObject false
        } 
     } 
      
// agar browser ro nashnakht
      
if (!XMLHttpRequestObject && window.XMLHttpRequest)
      { 
       
XMLHttpRequestObject = new XMLHttpRequest(); 
        } 
        
// End Of Define Your Browser

     
    
var pageurl "getteacher.php?param=";
    var 
httpXMLHttpRequestObject;
    
    
    
    
    function 
Answer1()
    {    
    if(
XMLHttpRequestObject.readyState == && XMLHttpRequestObject.status == 200)
    
        {
            var 
obj document.getElementById('bb');
             
http.responseText;
             
obj.innerHTML=r;
             
document.getElementById("tfname").value r;
        }
    }



// in code ro rooye rooydad onclick button mizarid.
     
function getandgive()
     {
         if(
http)
         {
              var 
code document.getElementById("tfcode").value;
             
http.open("GET"pageurl+codetrue);
             
http.onreadystatechange =  Answer1;
             
http.send(null);
        }
     }
     
//end getandgive
    
    
</script
بدان کوش تا زود دانا شوی
چو دانا شوی زود والا شوی

سایت شخصی
  پاسخ
تشکر شده توسط :


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان