我很困惑为什么我的Ajax呼叫无法正常工作。当前,我只需要Client中的Ajax方法即可访问我的Controller方法。我的HTML上的alert命令是POPING,但是客户端无法访问服务器端。请告知我在以下方面缺少什么:
调用控制器的操作方法获取数据
<script>
$(document).ready(function () {
$.get("@Url.Action("GetData","Driver")",function(data){
$("#dataForSecond").html(data);
alert("Second ActionResult");
});
});
我的控制器中的获取数据方法仅返回:
public ActionResult GetData()
{
logger.AddLog("INTO 2nd Action Method");
var secondData = "I m Dummy";
//System.Threading.Thread.Sleep(500);
logger.AddLog("Setting loggedInAgent Value Again");
// ViewBag.loggedInAgents = "11";
return Json(secondData, JsonRequestBehavior.AllowGet);
}
为了进行测试,我在客户端进行了跟踪,但没有进行刷新,仅像以前一样进行了POP操作。我的代码怎么了,我不知道。
$(function () {
var refreshInterval = 5000;
var url="@Url.Action("GetData","Driver")";
setInterval(function () {
$("#View1").load(url);
}, refreshInterval);
您正在调用ActionResult,需要调用JsonResult,这就是为什么它不起作用,请参见下面的示例:
$.ajax({
url: '/Product/List',
type: "GET",
data: { "nrRecs": 4 },
async: true,
dataType: "json",
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert('error');
},
success: function (data) {
alert('ok');
}
});
[HttpGet]
public async Task<JsonResult> List(int nrRecs)
{
var product = db.products.Take(4);
return Json(await product.ToListAsync());
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句