Javascript asp.net mvc Ajax未加载数据
我正在尝试使用ajax从控制器加载数据 控制器Javascript asp.net mvc Ajax未加载数据,javascript,jquery,asp.net,ajax,asp.net-mvc,Javascript,Jquery,Asp.net,Ajax,Asp.net Mvc,我正在尝试使用ajax从控制器加载数据 控制器 [HttpGet] public ActionResult GetServices() { var data = _bbdb.ListServices.Where(d => d.Status == true).ToList(); return Json(data, JsonRequestBehavior.AllowGet); } 看法 服务可用性 $(文档).ready(函数(){ $.ajax({ url:'@url
[HttpGet]
public ActionResult GetServices()
{
var data = _bbdb.ListServices.Where(d => d.Status == true).ToList();
return Json(data, JsonRequestBehavior.AllowGet);
}
看法
服务可用性
$(文档).ready(函数(){
$.ajax({
url:'@url.Action(“Home/GetServices”),
contentType:“应用程序/json;字符集=utf-8”,
cache:false,
全球:错,
async:false,
数据类型:“json”,
成功:功能(数据){
警报(数据);
$。每个(数据、函数(){
$(“”)html(“”+this.Title+“”+this.Description+” )。附录(“#ListServices”);
});
},
错误:函数(错误){
警报(错误);
}
});
});
但是,它不显示来自控制器的数据,而是显示带有[object][object]的警报
返回的数据应该是用于填充手风琴的值列表
我错过了什么
任何帮助都将不胜感激。现在您已经有了正确的URL(请参阅OP上的评论),让我们看看您的成功回调
success: function (data) {
alert(data);
$.each(data, function () {
// your html creation here
});
},
您需要将参数添加到$中。每个,如下所示
$.each(data, function(index, val){
console.log(val.Title);
console.log(val.Description);
});
请参阅以了解更多信息
此外,当您将HTML附加到
时,只需执行以下操作:
$('#ListServices')。追加('HTML的其余部分… )
将该错误回调函数更改为该函数,然后查看您得到的结果,这样我们就可以缩小问题范围:函数(xhr,status,err){console.log('Response code:'+xhr.status');console.log('error:'+err+']'+status);}
它导致此错误响应代码:404[错误:未找到]错误HTTP响应404表示找不到您的url。仔细检查Javascript中呈现的url,然后仔细检查路由,确保一切正常。更新后,我将url从“@url.Action(“Home/GetServices”)”更改为url:“Home/GetServices”,现在它正在填充标题,但我的手风琴仍然无法工作(向下滑动)。好的,它从数据库返回一个值列表。安德鲁·彼得斯这里是服务的所有描述。@KleberBH那么一切都好吗?只需将生成的HTML中的this.Title
、this.Description
等替换为val.Title
,等内容将填充右侧数据,但手风琴仍无法工作(单击时向下滑动以显示说明)。我认为这部分$(“”)html(“”+val.Title+“”+val.Description+” ”)仍然存在问题@是的,很可能是这样。该代码生成一个
元素,然后将该元素的HTML设置为包含一个
。这就给您留下了嵌套的
元素。请参阅我对答案的编辑
$.each(data, function(index, val){
console.log(val.Title);
console.log(val.Description);
});