Jquery 使用提交表单时遇到问题。获取

Jquery 使用提交表单时遇到问题。获取,jquery,forms,xmlhttprequest,Jquery,Forms,Xmlhttprequest,我在论坛上搜索了一段时间,虽然我找到了一些有用信息的帖子,但我没有找到任何有用的信息。这是我想要的行为的总结 我有一个带有jquery的HTML页面,用于从文件中读取我的用户名/密码,以便登录到服务器。我的页面有一个method=post的表单,有人告诉我,为了在提交表单之前登录到这个服务器,我可以在我的部分中使用它 <script> var xmlhttp; if (window.XMLHttpRequest) { xmlhttp = new XMLHttp

我在论坛上搜索了一段时间,虽然我找到了一些有用信息的帖子,但我没有找到任何有用的信息。这是我想要的行为的总结

我有一个带有jquery的HTML页面,用于从文件中读取我的用户名/密码,以便登录到服务器。我的页面有一个method=post的表单,有人告诉我,为了在提交表单之前登录到这个服务器,我可以在我的部分中使用它

<script>
   var xmlhttp;
   if (window.XMLHttpRequest) {
      xmlhttp = new XMLHttpRequest();
    }
    else {
      xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    var url = "http://sasserver.com:8080/SASStoredProcess/do?_username=USERl&_password=PWD";
    xmlhttp.open("GET", url, false);
    xmlhttp.send();
    if (xmlhttp.status != 200) {
      console.log("Unable to retrieve: " + url);
      alert("Open error: " + url);
    }
</script>
我的问题是如何用jquery逻辑替换XMLHttpRequest逻辑,以便在$document.ready上提交此表单

我能够创建包含正确url的变量,但.get方法不起作用。我想同步完成这项工作,至少XMLHttpRequest是这样工作的

我看到我可以使用$.ajaxSetup{async:false};在使用.get之前允许此操作,但它不起作用

请帮助我确定我的代码是否只是出了问题,或者手头是否有更大的问题。我正试图使用document.ready来实现这一点,因为HTML页面还有一个表单要提交,method=post

我的当前代码块:

<script>
$(document).ready(function(){
    $.ajaxSetup({async:false});
    $.get('http://server.com/pw.dat',function(result){
        var perLine=result.split(':');
        $('input[id=usernm]').val(perLine[0]);
        $('input[id=pass]').val(perLine[1]);
//  var u = $("#usernm").val(); 
//  var p = $("#pass").val(); 

        });

    var u = $("#usernm").val(); 
    var p = $("#pass").val(); 
    var url="http://sasserver.com:8080/SASStoredProcess/do?_username=" + u + "&_password=" + p;
    alert(url); //check to make sure we have the url
    $.get(url);
    $.ajaxSetup({async:true});
});


</script>

谢谢。

首先:async:false是万恶之源。不要用它。第二:你说它不工作是什么意思?在控制台中会出现什么错误?我知道这是一种不太理想的方式,但我有一个简单的需要提交表单以登录到服务器,所以我尝试了它。我要什么都行。关于控制台,我没有使用它,我基本上是制作HTML页面并在IE中进行测试。我不是web开发人员,所以我的工具有限。@Ben控制台是web inspector的一部分,现在几乎所有浏览器都可以使用它。如果您没有web检查器,请下载一个。通常,按F12键将调用web检查器,然后您将获得一个UI界面,您可以在其中选择Console选项卡,该选项卡将显示您可能收到的任何错误/警告。没错,只需在IE中按F12键,它将打开web调试器。镀铬的在很多方面都更好;我推荐那个。无论您做什么,都不能使用async:false。您需要找到一个合适的异步解决方案。这并不难做到。你只需要使用回调函数并在那里采取行动,而不是依赖于当IE中的$.get returns.F12让我进入开发人员工具时数据准备就绪,尽管我不知道从这里走到哪里。我在控制台中没有看到任何错误。如果我在异步模式下尝试xmlHttprequest,那么我会在IE未指定的错误中得到一个错误,如果xmlhttp.status!=200
<script>
$(document).ready(function(){
    $.ajaxSetup({async:false});
    $.get('http://server.com/pw.dat',function(result){
        var perLine=result.split(':');
        $('input[id=usernm]').val(perLine[0]);
        $('input[id=pass]').val(perLine[1]);
//  var u = $("#usernm").val(); 
//  var p = $("#pass").val(); 

        });

    var u = $("#usernm").val(); 
    var p = $("#pass").val(); 
    var url="http://sasserver.com:8080/SASStoredProcess/do?_username=" + u + "&_password=" + p;
    alert(url); //check to make sure we have the url
    $.get(url);
    $.ajaxSetup({async:true});
});


</script>