2010-01-19 147 views
1

高!jquery .post不工作​​

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

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

的有趣的事情是,如果我硬编码在使用$("#jsCheckoutForm_1b").attr("action")代替的作用,形式提交。警报$("#jsCheckoutForm_1b").attr("action")确实工作正常(这意味着它显示正确的URL使用)。

任何想法?

+1

您使用Firebug或类似工具来查看$ .post操作的位置?说它“不起作用”可能意味着很多事情。 – Bartek 2010-01-19 16:53:51

+0

让我备份一下 - 我的第一个回答是一个手指超过我的大脑的情况。 ;)你使用什么浏览器?这对我在Firefox 3.5.7和IE 6.0中工作正常(这意味着我可以成功地使用'$ .post'发布到'$('#id')。attr('action')')指定的url。 – 2010-01-19 17:19:25

+0

嗨杰夫! 是的,我使用萤火虫,并没有任何显示在那里的帖子。我发现奇怪的,然后记住,Firefox已经安装了新的萤火虫的测试版本。 所以我做的是重新安装旧的,现在,tahtaah,everyting工作正常。表格正在形成,帖子正在发布;) 尽管感谢您的帮助。顺便说一句,代码并没有改变一件事。 – 2010-01-19 17:29:31

回答

0

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

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; 
}); 
1

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