【问题标题】:$.post doesn't work on locally deployed site$.post 在本地部署的站点上不起作用
【发布时间】:2010-09-28 15:01:46
【问题描述】:

我最近将一个 HTML 网站“转换”为 Web 表单。通过转换,我的意思是我在 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 是 URL:http://localhost/mysite/[object%20Object] 并收到错误代码 404。页面 CreateAccount.aspx 确实存在。

【问题讨论】:

    标签: c# asp.net jquery post webforms


    【解决方案1】:

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

    来自documentation

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

    所以将您的代码更改为:

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

    试一试。

    【讨论】:

    • 你赢了,我收到了我期望的帖子。哇哦!
    【解决方案2】:

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

    另外,您需要将runat="server" 添加到您的 FORM 标记中。

    尝试向项目中添加一个新的 WebForm 页面,看看它是如何默认设置的,并验证它是否有效。

    【讨论】:

    • 我添加了页面指令并重命名为 .aspx &lt;%@ Page Language="C#" AutoEventWireup="true" %&gt;。这个页面是一个facebox弹出窗口有关系吗?我在表单中添加了runat="server" 属性,它做了两件不同的事情:not 渲染name 属性,does 渲染ctl100 的id。我添加了一个 id 属性并更改了 submit 函数以通过 id 识别表单,但似乎发布相同。页面指​​令有问题?
    • 正确。 ASP.NET 会自动为您生成 ID,这在使用 jQuery 时会造成一些麻烦。我尝试使用类来识别 DOM 元素。似乎出于某种原因,jQuery 使用错误的 URL 来提交请求。我会在表单上放一个按钮,它唯一做的就是调用$.post() 代码,并序列化表单而不是“this”。这可能会告诉我们一些事情。
    • 没有这样的运气按钮或专门用它调用 .post。 Facebox div 的标记位于与“父”文件不同的文件中。父页面是index.html,现在子页面是reg.aspx。你认为这重要吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-30
    相关资源
    最近更新 更多