0

我想将登录表单发送到一个站点,而不是将页面重定向到该站点,而只是显示一个空白页面。我一直在环顾四周,注意到 jquery 可以帮助我解决这个问题,但我还没有找到一种让它正常工作的方法,所以我希望得到一些建议。这就是我现在所拥有的。

<html> 
<head> 
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.js"></script> 
    <script src="http://malsup.github.com/jquery.form.js"></script> 
    <form id="myForm" action="placeholderurl" method="post"> 
        <input type="hidden" name="username" value = "placeholder"/> 
        <input type ="hidden" name="password" value = "placeholder"/>
        <input type="submit"/> 
    </form>
<script>
    $(document).ready(function() {
    $('#myForm').submit(function(e) {
    e.preventDefault();
    var formdata = $('#myForm').serialize();
     $.ajax({
     url: "placeholderurl",
     type: "POST",
     data: formdata,
     cache: false,
     success: function(data) {
        alert("yeah");
        //?code to display blank page after successful login??
     },
     error: function(){
        alert("noo");
     }
     });
});
});
 </script> 
 </head>
</html>

目前,代码总是进入“noo”错误块。我不确定如何从错误中提取更多信息,所以我不知道到底出了什么问题。任何建议/提示将不胜感激。

*编辑 placeholderurl 和 placeholder 在我的实际代码中填写了正确的信息。此外,我要发布到的 url 与正在调用的函数不在同一个域中,因此 ajax 可能不适用于此(来自 Archer 的评论)。既然是这种情况,是否有另一种方法可以在不使用 ajax 的情况下获得所需的行为。再次感谢。

4

1 回答 1

0

我建议在 Fiddler、Firebug 或 Chrome 的开发人员工具中查看您的网络流量,并查看导致错误的响应是什么。我猜您的 placeholderurl 位于不同的域中,因此您的呼叫失败。

于 2013-10-10T16:18:40.337 回答