我试着用这个:
<a href="#" onclick="$('<form method=POST action=/logout>').submit();return false;">
Sign out
</a>
但是$('<form method=POST action=/logout>').submit();
在Firefox ang IE中不起作用。
是否有同样简单的内联使用解决方案?
当前解决方案:
<a href="#" onclick="$('#logoutForm').submit();return false;">
Sign out
</a>
<form id="logoutForm" method="post" action="/logout"></form>
但我仍然想了解为什么Firefox不想运行jQuery $('<form method=POST action=/logout>').submit();
。 FF的正确方法是什么?
答案 0 :(得分:0)
我还不能写评论,所以我在这里说。我不确定你为什么要这样做,而不是使用正常方式(因为你似乎没有实际发布任何数据)
<a href="#" href='/logout'>
Sign out
</a>
或
<form method=POST action=/logout>
<input type="submit" value='Sign out'/>
</form>
答案 1 :(得分:0)
我不知道为什么你需要在线进行...但是:
<a href="#" onclick="event.preventDefault(), $.post('login',function(req){console.log('success');});">
此函数(是异步请求的回调 - ajax-way ):
function(req){console.log('success',req);}
允许您操纵返回的值req
。
答案 2 :(得分:0)
如果你真的想要一行,试试这个:
<a href="#" onclick="$('body').append('<form id=\'submitme\' method=\'POST\' action=\'/logout\'></form>');$('#submitme').submit();return false;">
Sign out
</a>
我在这些浏览器中成功尝试过这个小提琴:
注意:您的原始文件未生成“完整”HTML,因此我添加了缺少的引号和关闭表单元素。
现在还使用自动关闭表格标签进行了测试,但这是不允许的,所以坚持上面的例子。