2015-08-28 3 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", то он просто загружает данные (секунды) только для первый раз. Затем, если я нажму второй и следующий раз, тогда предупреждение ('') отлично работает, однако оно не называется методом 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

Я даже не могу войти в точку останова в ExactMethod, если я нажму второй раз на «qqqqq». – 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()' заменяет существующие данные. –

Смежные вопросы