此请求已被阻止,因为当在GET请求中使用敏感信息时,可能会向第三方网站公开敏感信息。

时间:2017-08-20 14:48:05

标签: ajax asp.net-mvc http-post jsonresult

我想通过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);

我该怎么办?

1 个答案:

答案 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
      }
});