2016-03-23 121 views
0

我正在使用以下腳本併成功從數據庫中刪除底層記錄。但點擊確認後,根本沒有任何反應。這意味着我必須關閉兩個彈出窗口,然後在瀏覽器上點擊F5以查看結果。我嘗試過很多事情,但必須有一些簡單的我失蹤這裏JQUERY不關閉彈出窗口和刷新頁面

function deletePayment(customerPaymentId) { 
    //alert(customerPaymentId); 
    bootbox.confirm("Are you sure? This payment will be logically deleted", function (result) { 
     if (result) { 
      var url = '/CustomerPayment/Delete'; 
      var data = { 
       id: customerPaymentId 
      }; 

      $.post(url, data, function() { 

       window.location.reload(); 
      }); 



     } 
    }); 
    return false; 
} 

控制器下面的代碼:

//[HttpPost, ActionName("Delete")] 
//[ValidateAntiForgeryToken] 

//[Authorize(Roles = "Delete")] 
public ActionResult Delete(int id) 
{ 

    CustomerPayment obj = _db.GetCustomerPayment(id); 

    _db.Edit(obj); 

    obj.TransactionDateTimeEnd = DateTime.Now; 
    _db.Save(); 




    return View("Index", new { id = obj.CustomerId}); 
} 
+0

取出返回false?你確定你還包括Jquery嗎? – KyleK

+0

查看$ .post的jquery文檔:http://api.jquery.com/jquery.post/ 您只爲$ .post實現'success'處理程序,所以如果該帖子失敗(不以200(OK)狀態碼返回),窗口永遠不會重新加載。 –

+0

如果你只是打算調用'window.location.reload();'來重新加載頁面,那麼沒有必要使用ajax。 –

回答

0

下面是正確的代碼,我已經測試。

我會告訴你刪除返回false並使下面的ajax調用明確附加成功和失敗回調。

$(document).on("click", ".alert", function (e) { 
      bootbox.confirm("Delete payment ???", function (result) { 
        if (result) { 
         alert('delete fired'); 
         $.ajax({ 
          type: "GET", 
          url: "Jquery-datatable.aspx/GetJsonEmps", 
          data: "{}", 
          dataType: "json", 
          contentType: "application/json; charset=utf-8", 
          success: function (response) { 
           alert('ok'); 
           location.reload(); 
          }, 
          error: function (xhr, ajaxOptions, thrownError) 
          { 
          alert(xhr.responseText); 
          location.reload(); 
          }  
         }); 
        } 
       }); 
      }); 

注:我已迅速例如上述檢查testing.You起見必須更換rquest類型POST和請求url並添加data參數。

0

對於控制器

public JsonResult Delete(int? id) 
     {   
      if (isSuccess) 
       return Json(new { Success = true, Message = "" }, JsonRequestBehavior.AllowGet); 
      else 
       return Json(new { Success = false, Message = error }, JsonRequestBehavior.AllowGet); 
     } 

和你的腳本中添加以下行

window.location.href = window.location.href; 

讓我知道如果你有任何問題。

相關問題