2013-05-18 114 views
1

我寫了一些代碼來執行ajax調用的刪除操作。 C#代碼如下。jquery.getJSON()回調函數不執行

[AcceptVerbs(HttpVerbs.Get)] 
     public JsonResult Delete(Guid code) 
     { 
      Genre obj = null; 
      //TODO : FIX HACK 
      try 
      { 
       obj = Genre.Fetch(code, CurrentUserId, null); 

       if (obj != null) 
        obj.Delete(CurrentUserId, null); 

      } 
      catch (Exception ex) 
      { 
       return Json(new 
       { 
        deleted = false 
       }, JsonRequestBehavior.AllowGet); 
      } 

      return Json(new 
      { 
       deleted = true 
      }, JsonRequestBehavior.AllowGet); 
     } 

然後我用的jQuery的getJSON()如下:

function deleteGenre(code) { 

    $.getJSON("/Administration/Genre/Delete?code=" + code, 
     function (data) { 
      if (!data.deleted) { 
       alert("WARNING - You cannot delete a genre that is currently in use."); 
       return false; 
      } 
      else { 
       //window.location('/Administration/Genre/Edit'); 
       return false; 
      } 

     }); 

} 

但是,當我執行jQuery腳本,回調函數不執行。雖然當我通過瀏覽器有效結果({「deleted」:false})訪問鏈接(../Administration/Genre/Delete?code=835e56f0-a339-4da9-8cbb-d93b12a01d37)時,

我該如何解決這個問題。請幫幫我。提前致謝。

+1

'/行政/類型/刪除'和'../ Administration/Genre/Delete'可能無法解析到相同的位置。 – Musa

+0

如何調用'deleteGenre'方法?你能爲此添加代碼嗎? – serefbilge

回答

-1

我不知道這是否是解決辦法,但你應該使用單引號,並呼籲通過像下面這個函數的方法時沒有雙引號:

$.getJSON('/Administration/Genre/Delete?code=' 
+0

在這種情況下沒有區別。 – Neus