2016-07-19 8 views
0

私はニュースサイトをASP.Net MVC5で作成しています。すべてのニュースには、嫌いと不満があります。'set JsonRequestBehavior' in ASP.Net MVC5

i Ban RefreshにAjaxとJsonを使用するページをリフレッシュします。

が、私は好きか嫌いでクリックしたときに私は、このエラーを表示:

This request has been blocked because sensitive information could be 

disclosed to third party web sites when this is used in a GET request. To allow 

GET requests, set JsonRequestBehavior to AllowGet. 

にHomeController:

public ActionResult NewsLike(int ID) 
     { 
      int Like=RNews.Like(ID); 
      return Json(Like); 
      } 

Rep_New:

public int Like(int ID) 
    { 
     var qLike = (from a in db.Tbl_News 
        where a.ID.Equals(ID) 
        select a).SingleOrDefault(); 
     try 
     { 
      qLike.Like++; 
      db.Tbl_News.Attach(qLike); 
      db.Entry(qLike).State = System.Data.Entity.EntityState.Modified; 
      if (db.SaveChanges() > 0) 
      { 
       return qLike.Like; 
      } 
      else 
      { 
       return qLike.Like--; 
      } 
     } 
     catch (Exception) 
     { 
      return qLike.Like; 
     } 
    } 

News.cshtml:

<table style="margin-top:10px;"> 
        <tr style="color:green;font-size:12px;margin-top:10px;"> 
         <td>Like :</td> 
         <td><span id="[email protected](Counter)">@item.Dislike</span></td> 
         <td>@Ajax.ActionLink("+", "CommentLike", new { ID = item.ID }, new AjaxOptions { HttpMethod="POST",UpdateTargetId="Like"+Counter})</td> 
        </tr> 
        <tr style="color:red;font-size:12px;margin-top:10px;"> 
         <td>DisLike :</td> 
         <td><span id="[email protected](Counter)">@item.Dislike</span></td> 
         <td>@Ajax.ActionLink("+", "CommentDisLike", new { ID = item.ID }, new AjaxOptions { HttpMethod = "POST", UpdateTargetId = "DisLike" + Counter })</td> 
        </tr> 
       </table> 

答えて

1
public JsonResult NewsLike(int ID) 
{ 
    int Like=RNews.Like(ID); 
    return Json(Like, JsonRequestBehavior.AllowGet); 
} 

を試してみてください。

注: Json request取得動作とHTTP Get要求が同じではありません。

+0

私はこのアップデートを使用して取得しません。新しいタブを開いて、同様のものを表示 – Kianoush

0
return Json(result, JsonRequestBehavior.AllowGet); 

更新、表示するJSON形式の結果を返すようにJsonRequestBehaviorを提供する必要があり、この

public ActionResult NewsLike(int ID) 
{ 
    int Like=RNews.Like(ID); 
    return Json(Like, JsonRequestBehavior.AllowGet); 
} 
+0

私はポストメソッドが必要ありません。 – Kianoush

+0

@Kianoushは私のアップデートを試してください – MichaelMao

+0

私はこのアップデートを使用しました。新しいタブを開いて同様に表示 – Kianoush

関連する問題