【发布时间】:2012-03-18 19:47:26
【问题描述】:
当我使用 AJAX 发布时,我看到了一个奇怪的行为。当我有以下代码时,
<a id="submit" class= "btn btn-large btn-primary">Sign Up</a> (form submit)
$('#submit').on('click', function(){
console.log($('#biz_details').serialize());
$('#status').css('display','block');
$.post('/business/signup',$('#biz_details').serialize(), function(data){
$('#updated').text('Success.').append('<a href="/business/profile"> here to view profile </a>');
}
,'json');
});
似乎一切正常。但是,当我使用
<submit id="submit" class= "btn btn-large btn-primary">Sign Up</submit> (form submit)
我得到的是error: [Errno 32] Broken pipe,而不是<a> 标签。另外,我被重定向到
相同的 URL (\business\signup) 但我的 POST 参数作为 GET 发送。
举例来说,如果我发布 a=1&b=2,我将被重定向到 \business\signup?a=1&b=2。
我的表单声明是
<form class="holder form-horizontal" id="biz_details" style= "background-color: white;overflow-y:hidden;">
此外,如果我的表单确实有一个动作属性,并且在 POST 函数的动作中有一个 js 调用,它就可以正常工作。 任何人都可以对这种行为有所了解,尤其是关于重定向的行为吗?
【问题讨论】:
标签: ajax django google-chrome