2014-06-05 45 views
1

我正在處理內部MVC網站。隨機重定向到/未定義

問題:

突然,網站已經開始重定向到之前/選擇瀏覽器(Chrome,Opera和Safari)localhost/undefined刪除POST之後。這在Firefox或IE中不會發生。

所採取的步驟:

我已經通過下面的JavaScript代碼無數次在Chrome(沒有工作)和IE(工作)加強。似乎沒有任何區別,除了Chrome完成隨機重定向,而不是在代碼中調用。

jQuery的AJAX調用如下:

// Delete button clicked 
function deleteEntity(e) { 
    e.preventDefault(); 

    var name = $(this).attr("name"); 
    var index = $(".deleteEntity[name=" + name + "]").index($(this)); 
    var entityId = ko.utils.unwrapObservable(viewModel.model.peek()[index].ID); 
    var data = { EntityID: entityId }; 

    viewModel.model.remove(viewModel.model.peek()[index]); 

    if (entityId > 0) { 
     $.ajax({ 
      url: "/" + name + "/Delete", 
      type: "POST", 
      data: data, 
      dataType: 'json', 
      async: true, 
      success: function (data, textStatus, xhr) { 
       alert(data); 
      }, 
      error: function (xhr, textStatus, errorThrown) { 
       // Decide later. 
      } 
     }); 
    } 
} 

$(document).on("click", ".deleteEntity", deleteEntity); 

調試步驟

始於在Ajax調用的線路斷路。 - >if (entityId > 0) {

  • 如果我按F8這裏通過我在successerror功能中斷,它最終不打任何斷點,並重定向到localhost/undefined沒有聯繫服務器。
  • 如果我按下F10來逐步執行,它將在刪除操作中的服務器上的斷點處停止。從那裏我在Visual Studio中打F5,並刪除選中的期望實體,將我帶回到我的斷點中的斷點。如果我從這裏擊中F8,它會擊中成功並彈出警告框成功。
  • 如果在擊中F5之前在視頻工作室中擊中F8,它會立即重定向到localhost/undefined

問題:有沒有人知道這個問題的由來?我搜索了一下,發現了一個與插件相關的非常類似的問題,所以我試圖禁用所有的(整個2),它沒有改變任何東西。

p.s.如果有任何其他代碼片段只是有用的評論,我會添加它們。我已經檢查了至少20次的動作。 Delete是一個[HttpPost],但我的Update也是如此,它的工作方式也很好。

+1

您應該自己回答問題,然後針對您有任何其他問題提出新問題。這樣,人們可以通過類似的問題獲得幫助。 –

+0

好吧我會那樣做的。我想,因爲它是如此密切相關,我只是編輯這個問題,但這也是我想的。 – Shelby115

+0

的確,儘管人們通過標題多次搜索:) –

回答

0

我通過從我的控制器中刪除操作中刪除[HttpPost]屬性解決了該問題。 (我不得不添加Json返回來允許獲得,但那只是因爲它不再是發佈請求)。

我不知道爲什麼它會導致這樣的錯誤,並會就此提出一個單獨的問題。如果找到答案,我會在此處鏈接它。