آژانس هواپیماییexchanging

لودینگ آژاکس

شروع موضوع توسط iranii ‏31 دسامبر 2007 در انجمن PHP

  1. iranii

    iranii Registered User

    تاریخ عضویت:
    ‏1 جولای 2005
    نوشته ها:
    512
    تشکر شده:
    27
    سلام
    این کد مربوط به آجاکس هست که من دارم و عملیات مورد نظر انجام هم میشه اما میخواستم تا وقت یکه محتوا نمایش داده بشود یک لودینگ قرار بدم کد ی چه تغییری لازم داره؟ یا کلا چه بخش هایی باید تغییر پیدا کنه

    این تصویر رو میخواستم تا قبل از اینکه محتوا لود بشه نمایش بدم :
    [​IMG]



    HTML:
    function menuRequest(url)
    {
    var arg = url;
    url = "content.php?q=" + url;
    var http_request = false;
    
    if (window.XMLHttpRequest)
    { // Mozilla, Safari,...
    http_request = new XMLHttpRequest();
    
    if (http_request.overrideMimeType)
    {
    http_request.overrideMimeType('text/xml');
    // See note below about this line
    }
    } else if (window.ActiveXObject)
    { // IE
    try
    {
    http_request = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e)
    {
    try
    {
    http_request = new ActiveXObject("Microsoft.XMLHTTP");
    } catch (e) {}
    }
    }
    
    if (!http_request)
    {
    alert('Giving up :( Cannot create an XMLHTTP instance');
    return false;
    }
    
    http_request.onreadystatechange = function() { alertContents(http_request); };
    http_request.open('GET', url, true);
    http_request.send(null);
    
    }
    
    
    function alertContents(http_request)
    {
    if (http_request.readyState == 4)
    {
    if (http_request.status == 200)
    {
    document.getElementById("content").innerHTML=http_request.responseText;
    }
    else
    {
    alert('There was a problem with the request.');
    }
    }
    }
     
  2. alik

    alik کاربر قدیمی پرشین تولز

    تاریخ عضویت:
    ‏23 سپتامبر 2005
    نوشته ها:
    2,148
    تشکر شده:
    1,226
    کد:
    function alertContents(http_request)
    {
    if (http_request.readyState == 4)
    {
    if (http_request.status == 200)
    {
    document.getElementById("content").innerHTML=http_request.responseText;
    }
    else
    {
    alert('There was a problem with the request.');
    }
    }
    }
    
    داخل این تابع شما باید در حالات خارج از 4 اون عکس را نمایش بدید وقتی که 4 شد عکس را دیگه نمایش ندید.
    شماره 1 Sending
    شماره 2 Sent
    شماره 3 Get Result
    شماره 4 Loaded
     
  3. iranii

    iranii Registered User

    تاریخ عضویت:
    ‏1 جولای 2005
    نوشته ها:
    512
    تشکر شده:
    27
    ممنون.
    حالا یک سوال پیش میاد
    در یک صفحه یک تیبل ده بار تکرار شده باشه
    بنابراین ده تا هم آی دی content داریم که قرار هست
    نتیجه توی اون نمایش داده بشه حالا اینجور وقتی مثلا مورد
    مربوط به تیبل پنجمی کلیک میشه پردازش روی content تیبل اولی
    فقط انجام میشه. یعنی هر پیامی و لودینگی هم که باشه نمیاد روی
    همون بخش پنجم میاد روی تیبل اولی.
     
  4. naeemtop

    naeemtop Registered User

    تاریخ عضویت:
    ‏29 ژوئن 2004
    نوشته ها:
    654
    تشکر شده:
    2
    محل سکونت:
    tehran
    از ajax میشه تو فرانت پیج استفاده کرد؟
     
  5. hiv+

    hiv+ Registered User

    تاریخ عضویت:
    ‏17 نوامبر 2007
    نوشته ها:
    69
    تشکر شده:
    0
    چه ربطی داره؟؟؟؟؟؟؟؟؟؟؟؟؟//

    شما با نوت پدم می تونی از اجاکس استفاده کنی
     
  6. alik

    alik کاربر قدیمی پرشین تولز

    تاریخ عضویت:
    ‏23 سپتامبر 2005
    نوشته ها:
    2,148
    تشکر شده:
    1,226
    از اسم های مختلف برای آی دی استفاده کنید
     
  7. appbannerkhuniresbanner
  8. iranii

    iranii Registered User

    تاریخ عضویت:
    ‏1 جولای 2005
    نوشته ها:
    512
    تشکر شده:
    27
    اینجور دیگه اصلا کار نمیکنه چون توی فایل آژاکس تعریف شده که :

    HTML:
    document.getElementById("content").innerHTML=http_request.responseText;
    
    حالا توی برنامه اگر این اسم تغییر کنه و ده تا تیبل یا دیو این اسم رو با یک شماره منحصر هم داشته باشن
    کار نمیکنه چون این میخواد اطلاعات رو توی جایی که آی دی content هست قرار بده و اگر هم همشون به
    یک اسم باشن اولین بخشی که این اسم رو داره اطلاعات داخلش نماش داده میشوند.
     
  9. iranii

    iranii Registered User

    تاریخ عضویت:
    ‏1 جولای 2005
    نوشته ها:
    512
    تشکر شده:
    27
    در سوال بالا ما با استفاده از url = "content.php?q=" + url; مقدار q را که یک عدد است
    میتوانیم به content اضافه کنیم؟ یعنی با دریافت آی دی هر شماره ای که بود به content
    اضافه شود.
     
  10. alik

    alik کاربر قدیمی پرشین تولز

    تاریخ عضویت:
    ‏23 سپتامبر 2005
    نوشته ها:
    2,148
    تشکر شده:
    1,226
    این که مشکلی نیست :) شما اسم content را عوض کن چون آیه نیومده فقط توی content باید بریزه :)
    هر درخواستی که میخوای بدی به همراه درخواست آژاکس اسم id را هم بده و در کد بالا هم اسم id که الان content هست با اسمی که زمان درخواست داده میشه جایگزین کن ...
     
  11. iranii

    iranii Registered User

    تاریخ عضویت:
    ‏1 جولای 2005
    نوشته ها:
    512
    تشکر شده:
    27
    الان اونجا نوشتم که اسم هر دیو با توجه به آی دی منحصر به فرد باشه
    و توی کد بالا هم این تغییر رو دادم اما باز هم عمل نمیکنه

    PHP:
    document.getElementById(url).innerHTML=http_request.responseText;
    حالا اینجا من قصد دارم که همون مقدار q که در پست اول حاوی مقدار id هست به عنوان
    محل نمایش قرار بگیره بنابراین هر بار تغییر میکنه و درست عمل میشه.

    چیزی ک الان لازم هست اینه که مقدر q رو بشه قرار داد همین.