【问题标题】:jquery .post not workingjquery .post 不工作
【发布时间】:2010-01-19 16:49:20
【问题描述】:

高!

我只是想知道为什么这不起作用?

$.post($("#jsCheckoutForm_1b").attr("action"), { 
    sLoginName: $("#sLoginName").val(), 
    sPassword: $("#sPassword").val() 
    }, function(sData){
        alert(sData);
    }
);

有趣的是,如果我对操作进行硬编码而不是使用$("#jsCheckoutForm_1b").attr("action"),则表单正在提交。提醒 $("#jsCheckoutForm_1b").attr("action") 确实可以正常工作(这意味着它会显示要使用的正确 url)。

有什么想法吗?

【问题讨论】:

  • 您是否使用 Firebug 或类似工具来查看 $.post 操作的去向?说它“行不通”可能意味着很多事情。
  • 让我后退一步 - 我的第一个答案是手指从我的大脑中快速掠过。 ;) 您使用的是什么浏览器?这在 Firefox 3.5.7 和 IE 6.0 中对我来说很好用(这意味着我可以成功使用$.post 发布到$('#id').attr('action') 指定的网址)。
  • 嗨杰夫!是的,我正在使用萤火虫,那里没有任何帖子显示。我发现这很奇怪,然后想起了 firefox 刚刚安装了新 firebug 的 beta 版本。所以我当时所做的是重新安装旧的,现在,tahtaah,一切工作正常。表格正在形成,帖子正在发布;)感谢您的帮助。顺便说一句,代码没有改变任何东西。

标签: jquery post


【解决方案1】:

您可能需要在提交按钮的 onclick 功能上有return false;

【讨论】:

    【解决方案2】:

    您的代码看起来不错。我会缓存一些变量并测试它们。

    var form=$('#jsCheckoutForm_1b'),
      url=form.attr('action'),
      login=$('#sLoginName'),
      password=$('#sPassword');
    
    console.log(form, url);
    form.submit(function(){
      $.post(url,
        {sLoginName: login.val(), sPassword: password.val()},
        function(sData){
    
      });  
      return false;
    });
    

    【讨论】:

      猜你喜欢
      • 2015-11-21
      • 1970-01-01
      • 2010-12-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多