如何从控制器中调用一个方法一次? AJAX

How to call a method from controller more once time? AJAX

抱歉,如果这个问题真的很愚蠢,但是,我找不到解决方法。

我在控制器中有一个非常简单的方法:

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

观点比方法简单:

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

JavaScript代码:

<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,也就是说我无法在视图中看到更新的秒数。

如何在点击#qqqqq时总是调用ExactSeconds()方法?

<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")..empty();在代码中

当我删除您的 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 get call 嵌套在另一个中。一个电话怎么样?

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