سؤال

وأواجه مشكله لطلب اياكس في جملة باستخدام موتولز.

 var url = '<?php echo JURI::base();?>index.php?option=com_test&task=getselectmode&selectedid='+$('parent_question').value;

   var params ={method: 'post',update:'test'};
  var myAjax = new Ajax(url, params);
 myAjax.request();

وبلدي غالبا هي أنه ليس هناك أي تحديد الحدث onComplete طلب اياكس. لقد وضع ذلك على النحو التالي على رمز أعلاه ولكن لا شيء يحدث.

onComplete: function(response) { alert('Response: ' + response); }

هل يمكن أن يرجى تقديم كود كامل لكيفية استخدام اياكس باستخدام موتولز 1.1 ؟؟

وشكرا مقدما

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

المحلول

ومجرد إضافة onComplete إلى كائن بارامس، لا حاجة لإضافة الحدث seaprately. أيضا، يمكنك استخدام this.response.text. يمكن أن يبدو كل قليلا أكثر كبس - يعتمد على تفضله. إذا كنت لا تخطط لإعادة استخدام الكائن، فقط الذي يطلق عليه مباشرة وعدم تعيين لمتغير إما:

new Ajax(url, {
    method: "get",
    update: $("someelement"),
    onComplete: function() {
       alert(this.response.text);
    }
}).request();

وإذا كنت تفعل شيئا مع النص ردا على ذلك، قد ترغب في إزالة التحديث: الشيء. إذا كنت بحاجة إلى تقييم الاستجابة (كما جافا سكريبت)، استخدم evalResponse: صحيح بدلا من وحدة التقييم (this.response.text) ؛. . أيضا مفيد - evalScripts: صحيح | كاذبة إذا كنت تريد أن تفعل شيئا من جانب الملقم مع استجابة

نصائح أخرى

وهذا يجب أن تعمل:

var ajaxObj = new Ajax ('index.php?option=com_yourcomponent&view=yourview&format=raw', {
    method: "get"
});

ajaxObj.addEvent('onComplete', function (data) {
    // data is the response text
    // use as desired
});

// this initiates the call
ajaxObj.request();

وربما:

var a = new Ajax( url, {
        method: 'post',
        data: { parfoto: foto },
        onComplete: function( response ){
           ..........
        }
}).request();
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top