私は mvc と webtest に非常に慣れていないので、ここで我慢してください。
私は顧客の視点を持っています。顧客ビューは で JavaScript 関数を呼び出しますdocument.ready
。この JavaScript 呼び出しは、カスタマー コントローラー内のアクションへの ajax ポストを実行します。アクションは、json を元の JavaScript に戻し、カスタマー ビューを更新します。
私の Web テストでは、カスタマー ビューへの要求がありますが、後続の 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 });
}