我最近将一个HTML网站“转换”为网络表单。通过转换,我的意思是我在Visual Studio 2010中打开了网站,添加了一个web.config文件以允许HttpPost协议,并将其称为已转换。但是,我的表单不想发布到我的.aspx页面。我错过了什么?当我构建应用程序时,没有创建二进制文件来部署到我的本地IIS(Windows 7上的7.5)
<form name="register2" method="post" action="#" onsubmit="return false;">
然后我的$ .post在我的$(function(){...
中$('form[name="register2"]').submit(function () {
var $registerForm2 = $('form[name="register2"]');
if ($registerForm2.valid()) {
$.post({
type: 'POST',
url: 'CreateAccount.aspx',
data: $(this).serialize()
});
} else { //do validation
$registerForm2.validate();
}
});
当我提交表单时,Chrome会告诉我请求网址为URL:http://localhost/mysite/[object%20Object]
并收到错误代码404.页面CreateAccount.aspx
确实存在。
答案 0 :(得分:4)
我现在看到了问题。 $.post()
方法不支持将选项对象作为参数。
$.post('ajax/test.html', function(data) {
$('.result').html(data);
});
所以请将您的代码更改为:
$.post( 'CreateAccount.aspx', $(this).serialize() );
并尝试一下。
答案 1 :(得分:0)
您需要将页面扩展名更改为.aspx,以便ASP.NET运行时处理它。您还需要页面顶部的<%@ Page %>
指令来指示应该编译页面。
此外,您需要将runat="server"
添加到您的FORM代码中。
尝试将新的WebForm页面添加到项目中,以查看默认情况下如何设置它,并验证其是否有效。