• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
readystate چرا صفره؟
#1
Sad 
سلام
دیگه کلافه شدم Angry من چند وقته که میخوام با Ajax داده ارسال کنم یا بگیرم ولی هر بار که تست میکنم جواب نمیگیرم وقتی رویداد readystate رو چاپش مینکم صفره!
با Jquery هم هر کار کردم نشد، کسی میتونه منو راهنمائی کنه؟

HuhHuhHuhHuh
  پاسخ
تشکر شده توسط :
#2
یه کدی چیزی بزار
  پاسخ
تشکر شده توسط :
#3
کد پی‌اچ‌پی:
<script>
var 
XmlHttp=null;
    
//XmlHttpRequest function
    
function GetXMLHTTPObject()
    {
     
        try
        {
            
XmlHttp=new  XMLHttpRequest();
        }
        catch (
e)
        {
            try
            {
                 
XmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
            }
            catch (
e)
            {
                
XmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
            }
        }
        return (
XmlHttp);
    }
    
//check function
    
function Checkuser()
    {
         
         
        
XmlHttp=GetXMLHTTPObject();
        if(
XmlHttp==null)
        {
            
alert("this browser dos not support Ajax!");
            return ;
        }
        
url='checkpage.php?user='document.getElementById('user').value;
         
        
XmlHttp.onreadystatechange=stateChanged();
        
XmlHttp.open("GET",url,false);
        
XmlHttp.send(null);
        return 
false;
    }
    
//stateChanged function
    
function stateChanged()
    {
        
alert(XmlHttp.readyState);
        if(
XmlHttp.readyState==|| XmlHttp.readyState=="complete")
        {
            if(
XmlHttp.responseText==1)
            {
                
document.getElementById('user').style.border="1px solid #FF0000";
            }
            else
            {
                
document.getElementById('user').style.border="1px solid #00FF00";               
            }
        }
    }
</
script




کد سمت سرور هم اینه:




کد پی‌اچ‌پی:
<?php
    $con
=mysql_connect('localhost','root','');
    
$db=mysql_select_db('ajax',$con);
    
$sql="SELECT *  FROM `users` WHERE `username` ='".$_GET['user']."'";
    
$r=mysql_query($sql);
    
$result=mysql_num_rows($r);
     echo( 
$result);
?>
  پاسخ
تشکر شده توسط :
#4
ببخشید من کد رو گذاشتما!

Angel
  پاسخ
تشکر شده توسط :
#5
1. ابتدا فایر باگ نصب کنید .
2. پیشنهاد میکنم از جی کوئری استفاده کنید .

3.
کد پی‌اچ‌پی:
url='checkpage.php?user='document.getElementById('user').value
رو بکن
کد پی‌اچ‌پی:
var url='checkpage.php?user='document.getElementById('user').value
وبلاگ rezaonline.net/blog
سفارش برنامه نویسی reza.biz
Php , mysql , postgresql , redis , Yii and ... Cool
  پاسخ
تشکر شده توسط :
#6
دوست عزیز در ابتدا باید ازتون تشکر کنم، سپس باید یادآور شم من توی همون پست اول نوشتم که از jquery هم نشد استفاده کنم یعنی وقتی اجرا میکنم هیچ اتفاقی نمیفته،
ضمنا جاوا اسکریپت متغیرهای تعریف نشده رو به طور اتوماتیک با مقداری که بهش داده میشه مشناسه ولی استانداردش همونی هست که شما فرمودید،
بازم ممنون.
راستی من فایرباگ رو نصب کردم ولی نمیدونم چطوری میشه مرحله به مرحله نتیجه کد اجرا شده رو دید، اصلا میشه یه همچین حرکتی زد؟


دوستان لطف کنند کمک کنند من واقعا دیگه کلافه شدم، تا حالا اینقدر سر یه موضوع وقت نگذاشته بودم.

توی یکی از انجمن های یکی از سایت های برنامه نویسی دیدم نوشته کدهای Ajax باید روی هاست اجرا بشن تا جواب بدن یعنی روی لوکال جواب نمیده!؟!
مگه لوکال هاست حکم هاست رو نداره؟

والا من که کلا گیج شدم، کمکم کنید.Angry
  پاسخ
تشکر شده توسط :
#7
کسی نبود به من کمــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــک کنه؟Confused
من لازم دارم این حرکتـــــــــــــو !!!!!!!!!!!!!!!!!!!!!!!!!
  پاسخ
تشکر شده توسط :
#8
والا نمیدونم دقیقا مشکل شما کجاست چون من معمولا ajax رو با جی کوئری استفاده میکنم .
شما کدهای html صفحه ات هم بذار تا من ajaxشو با جی کوئری بنویسم برات با همون فرمتی که میخوای.
وبلاگ rezaonline.net/blog
سفارش برنامه نویسی reza.biz
Php , mysql , postgresql , redis , Yii and ... Cool
  پاسخ
تشکر شده توسط :
#9
(۱۳۹۲ دى ۲۴, ۰۸:۲۴ ب.ظ)hmkhafan نوشته: ...
راستی من فایرباگ رو نصب کردم ولی نمیدونم چطوری میشه مرحله به مرحله نتیجه کد اجرا شده رو دید، اصلا میشه یه همچین حرکتی زد؟
...
وقتی فایرباگ را نصب کردید یک تب داره به نام console که باید برید روش و فعالش کنید بعد اعمال مربوط به ajax را می توانید رصد کنید.
سالهــــا مـــــى گــــــذرد، حادثه ها مى آید
انتظـــــار فـــــــرج از نیمـــــه خــــــرداد کشم

[عکس: ShowPicture.aspx?ID=52750d12-5d92-4286-9...height=100]
  پاسخ
تشکر شده توسط :
#10
جاوا اسکریپتتو اینجوری کن:
کد:
function CreateXmlHttp() {
    var xmlhttp;
    try {
        xmlhttp = new XMLHttpRequest();
    } catch (e) {
        try {
            xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
        }catch (e) {
            try {
                xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {
                alert("مرورگر شما مناسب نیست");
                return false;
            }
        }
    }
    return xmlhttp;
}
function Checkuser() {
    var xmlhttp = CreateXmlHttp();
    var user = document.getElementById('user').value;
    xmlhttp.open("GET","http://آدرس سایت/checkpage.php?user="+user,true);
    xmlhttp.send(null);
    xmlhttp.onreadystatechange=function() {
        if (xmlhttp.readyState==4 && xmlhttp.status==200) {
            if(xmlhttp.responseText=='1') {
                document.getElementById('user').style.border="1px solid #FF0000";
            } else {
                document.getElementById('user').style.border="1px solid #00FF00";              
            }
        }
    }
}
تو پی اچ پی هم پرانتز echo رو بردار و البته تو کوئریت هم از mysql_real_escape_string استفاده کن.
موفق باشید.
  پاسخ
تشکر شده توسط :


پرش به انجمن:


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