Ajax 调用未访问服务器端
Ajax Calls not Accessing Server Side
我很困惑为什么我的 Ajax 电话打不通。目前,我只需要来自客户端的 Ajax 方法来访问我的控制器方法。 我的 HTML 上的警报命令是 POPING 但是服务器端无法从客户端访问。请告知我在以下内容中缺少什么:
调用我的控制器的操作方法获取数据
<script>
$(document).ready(function () {
$.get("@Url.Action("GetData","Driver")",function(data){
$("#dataForSecond").html(data);
alert("Second ActionResult");
});
});
在我的控制器中获取数据方法 returns:
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);
}
为了测试,我在客户端进行了跟踪,但没有刷新,只是像以前一样弹出。我的代码怎么回事,我不知道。
$(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());
}
我很困惑为什么我的 Ajax 电话打不通。目前,我只需要来自客户端的 Ajax 方法来访问我的控制器方法。 我的 HTML 上的警报命令是 POPING 但是服务器端无法从客户端访问。请告知我在以下内容中缺少什么:
调用我的控制器的操作方法获取数据
<script> $(document).ready(function () { $.get("@Url.Action("GetData","Driver")",function(data){ $("#dataForSecond").html(data); alert("Second ActionResult"); }); });
在我的控制器中获取数据方法 returns:
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); }
为了测试,我在客户端进行了跟踪,但没有刷新,只是像以前一样弹出。我的代码怎么回事,我不知道。
$(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());
}