2015-03-25 102 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