2015-03-25 16 views
0

我正在撥打AJAX調用,然後從控制器返回PartialView將其填充到div中。Ajax調用不返回部分視圖

下面是我的代碼: -

var file = document.getElementById("file").files[0]; 

jq.ajax({ 
       type: "POST", 
       url: '/Main/getData', 
       data: formData, 
       dataType: 'json', 
       contentType: false, 
       processData: false, 
       success: function (response) { 
        jq('#partialPlaceHolder').html(response);  
       }, 
       error: function (error) { 
        alert("Some Error Occured"); 
       } 
      }); 

[HttpPost] 
     public ActionResult getData(FormCollection form) 
     { 
      ...... 

      return PartialView("_pageMain", retMod); 
     } 

正如我在調試器的代碼,沒有錯誤,直到結束,但仍是AJAX拋出alert("Some Error Occured")

部分視圖未在div中填充。如何解決這個問題?

+0

您是否嘗試過'JSON.stringify(formData)'或查看開發人員工具中的響應內容? – adricadar 2015-03-25 12:57:36

+0

partialview html或json? – progsource 2015-03-25 12:58:22

+0

PartialView是.cshtml ...我已經在我的其他模塊中使用它,它在那裏工作....因爲我張貼在這裏'文件',所以它給錯誤.. – Anup 2015-03-25 13:02:32

回答

0

要設置返回數據類型爲JSON

dataType: 'json' 

嘗試改變這

dataType: 'html' 

看到這裏http://api.jquery.com/jquery.ajax/

的dataType(默認:智能猜測(XML,JSON ,腳本或html)) 類型:字符串 數據類型在你期待從服務器回來。

+0

沒有工作....相同的錯誤..! – Anup 2015-03-25 13:02:55

+0

這應該工作。我誤解了這個問題。 – 2015-03-25 13:02:55

0

爲什麼不使用​​JQuery .load()

描述:從服務器加載數據並將返回的HTML放入匹配的元素中。

而簡單:

$('#partialPlaceHolder').load("@Url.Action('getData')", { form: formData }) 

爲​​第三個參數是回調函數,所以覺得可以自由使用它。

順便說一句:我沒有在你的代碼中找到使用變量file