2014-10-30 73 views
-1

我使用$ .get來填充額外的字段,但在firefox中得到下面的錯誤。它正在爲鉻和ie工作。ReferenceError回調沒有違反

的ReferenceError:回調沒有定義

var count = 0; 
$('#addAddr').click(function(event){ 
    event.preventDefault();  
    count ++; 
    var url = "${pageContext.request.contextPath}/addmore"; 
    if(count <=2){ 
      $.get(url, {count : count },callback); 
      function callback(data){     
       $("#addAddrDiv").before(data); 
      } 
     }    
}); 

這是不動的,以Java類的方法。你能幫我解決我的錯誤嗎?

回答

0

如果在子塊中聲明該函數,看起來像在Firefox(Demo)中沒有正確發生提升。

var count = 0; 
$('#addAddr').click(function (event) { 
    event.preventDefault(); 
    count++; 
    var url = "${pageContext.request.contextPath}/addmore"; 
    if (count <= 2) { 
     $.get(url, { 
      count: count 
     }, callback); 
    } 

    function callback(data) { 
     $("#addAddrDiv").before(data); 
    } 
}); 
+0

那麼是什麼解決方案? – 2014-10-30 11:02:36

+0

@AratKumarrana查看上面的代碼片段...將回調函數定義移出「if」塊 – 2014-10-30 11:04:24

+0

我解決了這個問題。 'if(count <= 2){.get(url,{ count:count },callback); }, function callback(data){(「#addAddrDiv」)。before(data); });' – 2014-10-30 11:07:41