سؤال

وأنا أحاول تقديم إثبات المفهوم الموقع، ولكن أريد تدهور الكمال. على هذا النحو انا ذاهب الى رمز الموقع في XHTML عادي أولا ثم إضافة فئات وهويات لربط لهم في مسج.

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

وكنت أتساءل إذا أنا قادرة على ترميز ثابت للشيء مثل:

<a href="blah.html" class="ajax">, <a href="bleat.html" class="ajax">

وغيرها. هكذا كما ترون، أعطي كافة العلامات الرابط الذي أريد أن أدعو طلبات اياكس من مع اياكس الصف. في JS بلدي على أساس مسج، أريد أن أكون قادرة على رمز ذلك مثل أن جميع $ الإيجابي { "أ"). تصفية ( ". اياكس") سيتم تحميل hrefs كل منهما [متغير] تلقائيا كما طلب اياكس.

الرجاء المساعدة. أنا n00b.

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

المحلول

ومع المثال الخاص بك، يجب أن تكون قادرة على القيام به:

$('.ajax').click(function () { 
    // Your code here. You should be able to get the href variable and
    // do your ajax request based on it. Something like:
    var url = $(this).attr('href');
    $.ajax({
        type: "GET",
        url: url
    });
    return false; // You need to return false so the link
                  // doesn't actually fire.
});

وأود أن أقترح استخدام فئة مختلفة من "أياكس" لأنه يجعل رمز غريب قليلا لقراءة، لأن $('.ajax') يمكن اساؤوا كما $.ajax().

والجزء $('.ajax').click() يسجل معالج الحدث onClick لكل عنصر على الصفحة مع الطبقة "اياكس" وهذا بالضبط ما تريد. ثم يمكنك استخدام $(this).attr('href') للحصول على أ href الارتباط معين ينقر عليه، وبعد ذلك كل ما تحتاجه!

نصائح أخرى

وشيء من هذا القبيل:

function callback(responseText){
    //load the returned html into a dom object and get the contents of #content
    var html = $('#content',responseText)[0].innerHTML;
    //assign it to the #content div
    $('#content').html(html);
}

$('a.ajax').click(function(){
    $.get(this.href, callback);
    return false;
});

وتحتاج إلى تحليل من كل ما هو خارج شعبة #content بحيث لا يتم عرض الملاحة أكثر من مرة. كنت أفكر في التعبير العادي ولكن من المحتمل أسهل للاستخدام مسج للقيام بذلك ولذا فإنني تحديث سبيل المثال.

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