2015-08-28 80 views
0

對不起,如果問題真的很愚蠢,但是,我無法找到如何解決它。如何從控制器調用一次更多的方法? AJAX

我有一個控制器,一個非常簡單的methid:

public string ExactSeconds() 
{ 
    string str = DateTime.Now.Second.ToString(); 
    return str;    
} 

的觀點比方法更簡單:

<p id="rData"></p> 
<p id="qqqqq">click me!</p> 

JavaScriptCode:

<script type="text/javascript"> 
    $(document).ready(function() { 
    $('#qqqqq').click(function() { 
     alert(''); 
     var url = "/Home/ExactSeconds"; 
     $.get(url, null, function (data) {     
       $("#rData").html(data); 
      }); 

     }); 

    }); 
}); 

然而,當我點擊在id =「qqqqq」,那麼它只是上傳數據(秒)只是爲了第一次。然後,如果我點擊第二次和下一次,那麼alert(')完美地工作,但它不叫做方法ExactSeconds,也就是說我無法在視圖中看到更新的秒數。

如何調用方法ExactSeconds()總是當我點擊#qqqqq?

+1

爲什麼你有嵌套的$ .get()調用? – codenheim

+0

'var url =「/ Home/ProverbPartialView」;'調用一個名爲'ExactSeconds()'的方法 - 假設你有一個錯字? –

+0

@StephenMuecke,對不起,這是錯字。我更新了問題。 – StepUp

回答

1

當我刪除你的AJAX調用,這工作正常。

$(document).ready(function() { 
 
    $('#qqqqq').click(function() { 
 
     alert(''); 
 
     $("#rData").html(Date.now); 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<p id="rData"></p> 
 

 
<p id="qqqqq">click me!</p>

其次,你爲什麼有嵌套一個AJAX在另一個內部得到調用。一個電話怎麼樣?

$(document).ready(function() { 
    $('#qqqqq').click(function() { 
     alert(''); 
     var url = "/Home/ProverbPartialView"; 
     $.get(url, null, function (data) { 
      $("#rData").html(data); 
     }); 
    }); 
}); 
+0

我嘗試沒有嵌套的Ajax獲取調用,但是我無法從方法ExactSeconds讀取新數據。我真的需要從控制器方法ExactSeconds,而不是通過JavaScript函數Date.now; – StepUp

+0

如果我在'qqqqq'處點擊第二次,我甚至無法進入ExactMethod中的斷點。 – StepUp

1
<script type="text/javascript"> 
    $(document).ready(function() { 
    $('#qqqqq').click(function() { 
     alert(''); 
     var url = "/Home/ProverbPartialView"; 
     $.get(url, null, function (data) {     
      $.get(url, null, function (data) { 
       $("#rData").empty(); 
       $("#rData").html(data); 
      }); 

     }); 

    }); 
}); 

加入$( 「#RDATA」)..空試試這個();在代碼

+0

這會有什麼不同。 '.html()'方法取代了現有的數據。 –