0

我已经在论坛上搜索了一段时间,虽然我找到了有用信息的帖子,但我无法让其中任何一个工作。这是我想要的行为的摘要。

我有一个带有 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 来做到这一点。

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

我的问题是如何用 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>

谢谢。

4

0 回答 0