我已经在论坛上搜索了一段时间,虽然我找到了有用信息的帖子,但我还是无法使用它。以下是我期望的行为的摘要。
我有一个带有jquery的HTML页面,用于从文件中读取我的用户名/密码以便登录到服务器。我的页面有一个form =“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>
感谢。