我之前从未使用过AJAX或JQuery,但这是我对动态加载的尝试(来自stackoverflow的各种示例)
这是我在我看来的脚本:(编辑以符合mayabelle的代码。)不会抛出任何警报,并且DRequest上的断点永远不会跳过,但是如果直接调用则drequest会产生结果。
<script type="text/javascript">
$(document).ready(function () {
alert("testing123");
$response = DRequest;
alert("good at response");
$.ajax({
url: "request/drequest"
type: "GET",
dataType: "json",
success: function ($response) {
alert("I am an alert box2!");
// Do something with your response
var $tr = $('<tr>').append(
$('<td>').text($response.NeededByDate),
$('<td>').text($response.RequestedBy),
$('<td>').text($response.Username),
$('<td>').text($response.RequestedPCID),
$('<td>').text($response.RequestType_ID),
$('<td>').text($response.Division_ID),
$('<td>').text($response.ReqTypeIcon)
).appendTo('#requestTable');
console.log($tr.wrap('<p>').html());
}
});
setInterval(function () {
var url = '#';
$('body').load(url);
}, 300000);
});
</script>
应该从DRequest JsonResult一次动态追加一行(直到没有其他行要添加)(这通过地址栏直接调用时产生结果)。这应该每5分钟(300000秒)重新加载整个页面。
JsonResult看起来像这样
Public Function DRequest() As JsonResult
Dim Reqs = _db.dRequestGetAll
Return Json(Reqs, JsonRequestBehavior.AllowGet)
End Function
其中“_db.dRequestGetAll”返回dRequest行的集合,如下所示:
Public Function dRequestGetAll() As IEnumerable(Of DRequest)
Return From r In _PITcontext.Requests Where r.CompletedDate Is Nothing Select r
End Function
如此。我错过了什么?
编辑:我用原始帖子替换了最新版本的javascript,因为评论不能处理超过600个字符。
答案 0 :(得分:0)
答案 1 :(得分:0)
试试这样:
$(document).ready(function () {
$.ajax({
url: url to your controller action,
type: "GET",
dataType: "json",
success: function (response) {
// Do something with your response
}
});
}
另外,在上面的代码中,您调用变量$response
,但在每个循环中,您尝试访问response
(无$
前缀)。