Я чрезвычайно новичок в mvc и webtest, поэтому, пожалуйста, принесите меня здесь.Ожидание запроса ajax, чтобы закончить, прежде чем получить resposne
У меня есть вид клиента. Представление клиента вызывает функцию javascript на document.ready
. Этот javascript-вызов выполняет ajax-сообщение для действия в контроллере клиента, которое возвращает json в исходный javascript, который, в свою очередь, обновляет представление клиента.
В моем веб-тестировании у меня есть запрос к представлению клиента, но ответ возвращается до того, как последующий вызов ajax завершен, и представление обновлено, поэтому у меня нет последнего содержимого страницы.
Есть ли способ подождать, пока этот последующий запрос не будет завершен, чтобы я мог проанализировать полную страницу со всеми данными? Или я иду об этом в неправильном направлении?
здесь вид:
<script type="text/javascript" language="javascript">
//Set initial state of list during page load
$(document).ready(function() {
ApplyFilters();
})
</script>
Что вызывает этот JavaScript:
function ApplyFilters() {
.....
$.ajax({
type: "POST",
url: "/Customer/FilterList",
datatype: "html",
beforeSend: function() {
//do some stuff
},
success: function(result) {
...
BindCustomrGrid($find(GridClientID), result);
},
error: function(req, status, error) {
// do some stuff
}
});
}
и, наконец, контроллер:
[AcceptVerbs(HttpVerbs.Post)]
public JsonResult FilterList(string io, string name, string owner)
{
... // some api calls
return this.Json(new { customerList, serviceException });
}
Это не мой сайт, я просто тестирую его прямо сейчас. Применимые фильтры в основном захватывают данные и заполняют сетку. Удобно, что это действие задерживается до тех пор, пока страница не будет загружена, так как время ответа намного быстрее, но я просто не уверен, как тестировать его. – earthling