6
私はAJAXをやろうとしていますが、なぜこのコードが完了またはエラーアラートを発していないのかを知る必要があります。私は、MozillaのFirefox 20.0.1JavaScript XMLHttpRequest.onreadystatechange
にいる私は(私はそれが更新されます確認し、正確な記録を読んでselect文を持っている)は、データベースを更新 ISこのコード
に注意してください。応答が完了したときに警告が表示されない理由を確かめてください。
私はこれらのGLOBAL(javascriptページの最上部にある)で宣言された変数を持っています。
var AjaxEnginePage;
var ClientInfoPage;
var XMLHTTP;
AjaxEnginePage = "AjaxEngine.aspx";
ClientInfoPage="getClientInfo.aspx";
接続の作成。必要であれば、私はより多くのコードを提供することができます
function btnUpdateMe_OnClick() {
var me = encodeURIComponent(document.getElementById("MeTextBox").value);
// construct the URL
var requestUrl = AjaxEnginePage + "?Action=UpdateMe&Me=" + me;
CreateXMLHTTP();
// If browser supports XMLHTTPRequest object
if(XMLHTTP)
{
//Setting the event handler for the response
XMLHTTP.onreadystatechange = handleStateChange(me);
//Initializes the request object with GET (METHOD of posting),
//Request URL and sets the request as asynchronous.
XMLHTTP.open("get", requestUrl, true);
//Sends the request to server
XMLHTTP.send(null);
}
は、状態変更
function handleStateChange(me) {
switch (XMLHTTP.readyState) {
case 0: // UNINITIALIZED
case 1: // LOADING
case 2: // LOADED
case 3: // INTERACTIVE
break;
case 4: // COMPLETED
alert("Success");
break;
default: alert("error");
}
ハンドル:接続を結びつける
//Creating and setting the instance of appropriate XMLHTTP Request object to a “XmlHttp” variable
function CreateXMLHTTP()
{
try
{
XMLHTTP = new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e)
{
try
{
XMLHTTP = new ActiveXObject("Microsoft.XMLHTTP");
}
catch(oc)
{
XMLHTTP = null;
}
}
//Creating object in Mozilla and Safari
if(!XMLHTTP && typeof XMLHttpRequest != "undefined")
{
XMLHTTP = new XMLHttpRequest();
}
}
。 。:(おかげ
をこの行で。 、 'XMLHTTP.onreadystatechange = handleStateChange(私);'、あなたは直ちに 'handleStateChange'を呼び出し、その戻り値を' onreadystatechange'に返します(何も返しませんので、戻り値は 'undefined'です)。 'onreadystatechange'は関数への参照を期待しています。また、 'me'を渡しますが、' handleStateChange'関数では使用しません。 – Ian
私は、私を使用していないことを認識して謝罪しています。 – Kulingar
謝罪する必要はない、私はちょうど私がそれを指摘すると思った。それは関数で使用されていないので、あなたの問題を修正する方が簡単です。それが必要な場合は、もう少し追加する必要があります – Ian