1

ユーザー名とパスワードを要求する XML ファイルを読み込もうとしています。

私が使用しているコードは次のとおりで、URL でユーザー名とパスワードを送信しようとしています。

xmlhttp.open("POST","http://admin:admin@192.168.0.5/myfile.xml",false);

私のページの完全なコードは次のようになります。

<html>
<body>

<textarea id="test1" name="test1" cols="90" rows="30">
XML file will be displayed here
</textarea><br>

<script type="text/javascript">

if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }


  xmlhttp.onreadystatechange=function()
   {
   if (xmlhttp.readyState==4 && xmlhttp.status==200)
     {
     document.getElementById("test1").value=xmlhttp.responseText;
     } else
     {
     alert('Panel not communicating.Reason: '+xmlhttp.status);
     }
   }

xmlhttp.open("POST","http://admin:admin@192.168.0.5/myfile.xml",false);
xmlhttp.send();

</script>
</body>
</html>

私が間違っていることを知っている人はいますか?

4

3 に答える 3

1

私は次のことを行うことでそれを機能させることになりました:

変化する:

xmlhttp.open("POST","http://admin:admin@192.168.0.5/myfile.xml",false); 

に:

xmlhttp.open("POST","http://admin:admin@192.168.0.5/myfile.xml",false,"username","password");
于 2012-07-03T05:13:30.097 に答える
1

最初に、この関数を追加して認証ヘッダーの内容を作成します。

function make_base_auth(user, password)
{
  var tok = user + ':' + pass;
  var hash = Base64.encode(tok);
  return "Basic " + hash;
}

次に、関数を呼び出して、戻り値を別の変数に格納します。

var auth = make_basic_auth('admin', 'admin');

最後に、の値をオブジェクトに渡しauthますXMLHttpRequest

xmlhttp.setRequestHeader('Authorization', auth);
xmlhttp.send();

帰属: http://coderseye.com/2007/how-to-do-http-basic-auth-in-ajax.html

于 2012-07-02T06:06:21.483 に答える
0

同様のシナリオについては、この質問を参照してください。jQueryとAJAXで基本認証を使用する方法は?ある回答では、IEはURLのクレデンシャルをサポートしていないと述べていることに注意してください(あなたがしようとしているように)。

于 2012-07-02T06:00:31.783 に答える