2015-08-28 78 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()'方法取代了现有的数据。 –

相关问题