2016-12-07 2 views
0

определить две функции, как это:

<script> 
     $(function() { 
      function testb() { 
       alert("ddd"); 
      } 
     }) 

     function testa() { 
      alert("ddd"); 
     } 
    </script> 

когда страница загружена показать страницу Аякса, затем вызвать thoese функции от AJAX страница, testa будет успешной, но не testb.

+3

'testb()' определяется внутри готового объема обработчика –

+2

Вы обернуты 'testb' определение внутри другой функции, она не видна снаружи. – Dellirium

+0

Полезно знать, что – Bucketcode

ответ

0

Если ваша функция находится внутри документа. Уже тогда вы сможете вызвать глобальные функции, а также в успех ajax. если ваш вызов ajax находится в глобальном режиме. то вы не сможете вызвать функцию внутри document.ready. из-за ограничения области видимости ..

образцов: Ajax внутри document.ready

function testb() { 
    alert('ddd'); 
} 
$(function() { 

    $('[id$=btnsubmit]').on('click', function() { 

     $.ajax({ 
      type: "GET", 
      dataType: "json", 
      url: "/Content/test", 
      success: function (data) { 
       // alert(data); 
       testa(); 
       testb(); 
      } 
     }); 

    }); 
    function testa() { 
     alert('zxfgsfg'); 
    } 
}); 

он будет работать ..

если еще вы хотите вызвать эту функцию в этом случае, пожалуйста, проверьте ниже решения:

function tesss() { 
    alert('ddd'); 
} 

var M7 = {}; 

$('[id$=btnsubmit]').on('click', function() { 
    $.ajax({ 
     type: "GET", 
     dataType: "json", 
     url: "/Content/test", 
     success: function (data) { 
      // alert(data); 
      M7(); 
      tesss(); 
     } 
    }); 

}); 
$(function() { 
    M7 = function() { 
     alert('zxfgsfg'); 
    }; 
}); 
+0

в моем случае, мне не нужно вызывать любую функцию после успеха ajax. то, что я хочу сделать, это использовать ajax load html-страницу, а затем использовать onclick внутри этой страницы для вызова функции, я просто не знаю, почему она работает только тогда, когда функция одна. – Bucketcode

Смежные вопросы