2010-10-15 46 views
0

我有一个窗体的局部视图。它是强类型的。ASP.NET MVC 2 Ajax表单提交,错误:返回没有任何信息的错误?

我在视图中使用ajax和部分视图来提交表单。

它基本上是一种创建新的数据库项目的表单,我可以看到控制器操作正在工作并被调用。

我的ajax提交如下所示:

$(document).ready(function() { 
    var form = $("#addPost"); 
    form.submit(function() { 
     $.ajax({ 
     type: "POST", 
     url: form.attr("action"), 
     data: form.serialize(), 
     dataType: "json", 
     success: function (data) { 
      alert('success!'); 
     }, 
     error: function (req, status, err) { 
      alert('err=' + err + ' status=' + status); 
     } 
    }); 
    return false; 
    }); 
}); 

所以控制器执行的工作就好了,并试图返回强类型的partialview是..我不断收到错误的js警报,没有资料在里面。

这是因为我的父视图是不是输入相同,它是发送ajax的视图?

如果是这样,那么解决方案是什么?我该怎么处理这个错误?我需要父页面来获取响应,然后使用js在页面上显示表单信息。谢谢!

+0

您可以发布您的控制器操作代码吗? $ .ajax期望返回一个JSON对象。这是正确的返回类型吗? – Clicktricity 2010-10-15 21:04:17

回答

0

您需要显示一些更多的细节。例如,控制器中的代码。另外,您是否尝试过调试以查看返回的内容?

但是,调试这种ajax沉默失败的绝对方法是使用Firefox及其加载项Firebug。它将显示错误并显示对每次到服务器的呼叫的响应。如果你的控制器返回一个错误,服务器将发送一个完整的错误页面,你可以在Firebug中看到它。

ajax沉默了电话的事实是另一回事。

另一方面,您的jQuery代码中可能存在拼写错误。请参阅:

Error in jquery code casusing problems...