$ .post不适用于本地部署的站点

时间:2010-09-28 15:01:46

标签: c# asp.net jquery post webforms

我最近将一个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确实存在。

2 个答案:

答案 0 :(得分:4)

我现在看到了问题。 $.post()方法不支持将选项对象作为参数。

来自documentation

$.post('ajax/test.html', function(data) {
  $('.result').html(data);
});

所以请将您的代码更改为:

 $.post( 'CreateAccount.aspx', $(this).serialize() );

并尝试一下。

答案 1 :(得分:0)

您需要将页面扩展名更改为.aspx,以便ASP.NET运行时处理它。您还需要页面顶部的<%@ Page %>指令来指示应该编译页面。

此外,您需要将runat="server"添加到您的FORM代码中。

尝试将新的WebForm页面添加到项目中,以查看默认情况下如何设置它,并验证其是否有效。