我想通过ajax从控制器中同时获取“博客条目”和“博客条目照片”。当只采取'BlogEntry'没有任何问题,另一方面,当他们同时(BlogEntry和BlogEntryPhoto),有一个问题:“此请求已被阻止,因为敏感信息可能会透露给第三方在GET请求中使用此网站时。要允许GET请求,请将JsonRequestBehavior设置为AllowGet。“
我认为问题出现在'博彩条目照片'中,因为它有像“/Content/img/blog/25052017_2334_400x400.jpg”这样的影视列。 我使用了JsonResult,但它不起作用
return Json(new { Success = true, BlogEntries = blogEntries, BlogEntryPhotos = blogEntryPhotos}, JsonRequestBehavior.AllowGet);
我该怎么办?
答案 0 :(得分:0)
最后,我最终解决了PhotoPath数据引起的这个问题。首先,在控制器中,BlogEntry和BlogEntryPhotos的数据被一起扫描,然后在视图中将该数据解析为对象。
CONTROLLER
List<BlogEntry> blogEntries = _blogEntryRepo.GetAll(x => x.IsActive.Value && x.PlaceMarkerID == placeMarker.Id, null, "BlogEntryPhotoes").ToList();
JsonSerializerSettings jss = new JsonSerializerSettings { ReferenceLoopHandling = ReferenceLoopHandling.Ignore };
return Json(new { Success = true, BlogEntries = JsonConvert.SerializeObject(blogEntries, Formatting.Indented, jss) }, JsonRequestBehavior.AllowGet);
查看
$.ajax({
url: "/Map/GetBlogEntries",
type: "post",
datatype: "json",
data: placeMarker,
success: function (response) {
if (response.Success) {
var BlogEntries = JSON.parse( response.BlogEntries );
//BlogEntries[i].Title can be used
//BlogEntries[i].BlogEntryPhotoes[0].PhotoPath can be used
}
else {
//do something
}
},
error: function (xhr, status) {
//do something
}
});