AJAX - تحديث جزء من صفحة ويب بدون استخدام ملف منفصل لتحميل

StackOverflow https://stackoverflow.com/questions/407287

سؤال

وربما يكون العنوان مربكا بعض الشيء، لذلك اسمحوا لي أن أشرح.

ولدي موقع على شبكة الانترنت الذي يحتوي على لوحة جانبية، الذي يحتوي على معلومات عن المستخدم، فإن الأمور يمكن للمستخدم القيام به، وما إلى ذلك عندما لم يتم تسجيل المستخدم في، يصبح هذا وحة جانبية المنطقة لتسجيل أو تسجيل.

ورمز لذلك هو:

<?php
if($user->loggedIn)
{
?>
<!-- side-panel for logged in users here -->
<?php
}
else
{
?>
<!-- login/registration etc -->
<?php
}
?>

ما أريد القيام به هو تحميل هذا مقتطف من الشفرة مرة أخرى عندما تسجيل الدخول ينقر المستخدم مع AJAX، واستخدام تأثير مسج (وربما تتلاشى) أن يجعل سلاسة الانتقال لوحة جانبية من تسجيل الدخول / تسجيل للمستخدمين فقط لامعة لوحة.

وأنا أعلم أنني يمكن أن تفعل هذا إذا وضعت هذا الرمز في ملف آخر، وتعبئته من خلال AJAX في شعبة للوحة جانبية ... لكنني لا ترغب في جعل ملف منفصل عن لوحة الجانب فقط. هل هذا ممكن؟

هل كانت مفيدة؟

المحلول

هل يمكن تحميل الصفحة مع طلب AJAX ثم تجريد من البيانات الأخرى من لوحة جانبية، ولكن ما يمكن أن يكون نقطة؟ سيكون الخيار الأفضل يكون لديك لمجرد فصل لوحة جانبية في ملف خاص بها.

وأوه، والتي من شأنها أيضا أن تعتبر الطريقة الصحيحة للقيام بذلك، حتى تتمكن من تعديل الشريط الجانبي دون تحرير صفحات يحدث جرا.

نصائح أخرى

إذا فهمت corectly ما neey، قد حاولت بهذه الطريقة:

$.ajax({
    type: "GET",
    url: "url", // replace 'url' with your url
    cache: false,
    success: function(data){
        alert($(data).find('#sidebar').html());
    }
});

وربما ستعمل مع .load $ () أو. احصل على $ ()، دونو.

لماذا أنت تعارض للحفاظ على لوحة جانبية في ملف خاص به؟ يبقي الأمور أكثر وحدات وتنظيما.

إذا كنت حقا بدلا من الحفاظ على المحتوى في ملف، هل يمكن وضع المحتوى في قاعدة البيانات والاستعلام عنه أي وقت مضى عندما يتم الدعوة AJAX.

هل يمكنك تمرير معلمة سلسلة الاستعلام إلى الصفحة، ثم على أساس أن تفعل سوى جزئي تقديم (الشريط الجانبي فقط) من الصفحة؟ ثم مجرد استخدام العادي الخاص بك مسج / طريقة اياكس وتشمل مواضيعها سلسلة الاستعلام.

$.ajax(function(){
    url: MyPage.php?sidebar_only=true
    ect...
})

وعلى افتراض ان تكونوا الحصول على بيانات المستخدم الفعلية من خلال مكالمة أخرى، هل يمكن استخدام اثنين من عناصر div. وdiv الذي يحتوي على أتش تي أم أل لوحة المستخدم يبدأ خفية. عندما تحصل على دخول ناجح، إخفاء شعبة تسجيل الدخول وتظهر شعبة لوحة المستخدم. باستخدام البيانات من تسجيل الدخول AJAX، في ملء المعلومات لوحة مخصصة. وأفترض أن الدعوة لتسجيل الدخول AJAX بإرجاع المعلومات اللازمة لملء اسم المستخدم وما يمكن القيام به. هذا فقط يجعل من ذلك لم يكن لديك لسحب في أتش تي أم أل لوحة المستخدم بأكملها.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top