フォーラムをしばらく検索しましたが、有益な情報がある投稿を見つけましたが、それらを機能させることができませんでした。これが私の望ましい動作の要約です。
サーバーにログインするためにファイルからユーザー名/パスワードを読み取るために使用される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();
});
私の問題は、XMLHttpRequest ロジックを jquery ロジックに完全に置き換えて、このフォームを $(document).read.
正しい URL を含む変数を作成できますが、.get メソッドが機能しません。私はこれを同期的に行いたいです (少なくとも XMLHttpRequest はそのように機能しました)。
$.ajaxSetup({async:false}); を使用できることがわかりました。.get を使用する前にこれを許可しますが、機能しません。
私のコードが単に間違っているのか、それとももっと大きな問題があるのかを判断するのを手伝ってください. HTMLページにも送信するフォームがあるため(method = post)、(document).readyを使用してこれを実行しようとしています。
私の現在のコードブロック:
<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>
ありがとう。