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

时间:2015-08-28 04:25:59

标签: javascript jquery ajax asp.net-mvc-3 asp.net-mvc-4

很抱歉,如果问题真的很愚蠢,我无法找到解决方法。

我在控制器中有一个非常简单的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 =&#34; qqqqq&#34; 时,它只是第一次上传数据(秒)。然后,如果我第二次和下一次点击,那么警报(&#39;&#39;)可以完美地工作,但它不会被称为方法ExactSeconds,即我在视图中看不到更新的秒数。

当我点击#qqqqq时,如何调用方法ExactSeconds()?

2 个答案:

答案 0 :(得分: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);
            });

        });

    });
 });

尝试添加$(&#34;#rData&#34;).. empty();在代码中

答案 1 :(得分:1)

当我删除你的AJAX调用时,这样可以正常工作。

&#13;
&#13;
$(document).ready(function () {
    $('#qqqqq').click(function () {
        alert('');
        $("#rData").html(Date.now);
    });
 });
&#13;
<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>
&#13;
&#13;
&#13;

其次,为什么你在另一个内嵌了一个AJAX get调用。一个电话怎么样?

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