私のウェブサイトに登録ページがあります。問題は、次のエラーが発生し始めたことです。
キャッチされていない TypeError: 未定義のプロパティ 'responseText' を読み取ることができません
安全でないヘッダー「Content-length」の設定を拒否した register.php:1
安全でないヘッダー「接続」の設定を拒否しました
最後の 2 つのエラーがなくても (接続、コンテンツ長ヘッダーを設定しない場合)、最初のエラーが発生します。
私のajax機能のために、私はこの関数を使用しています:
function AjaxLoad(xhr, url, cfunc, syn, method, headers, params)
{
if (window.XMLHttpRequest) {
xhr = new XMLHttpRequest();
} else {
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
xhr.onreadystatechange = cfunc; // This line take place on true/false
xhr.open(method, url, syn);
$.each(headers ,function(index, value){
xhr.setRequestHeader(index, value);
});
xhr.send(params);
}
私のjsコードでは、次のように関数を呼び出しています:
var headersObject = {"Content-type" : "application/x-www-form-urlencoded", "Content-length" : userCap.val().length, "Connection" : "close" };
AjaxLoad(
xhr,
"../php/Ajax/captchaValidator.php",
getResponse,
false,
"POST",
headersObject,
userCap.attr("name") + "=" + encodeURIComponent(userCap.val())
);
AjaxLoad 引数の説明:
- xhr オブジェクト
- 位置
- onreadystatechange ハンドラ
- 同期(trueを渡しても機能しません)
- 方法
- ヘッダー
- キー=値のペア(正しい値を取得するためにテストしました)
これは getResponse 関数です。
function getResponse(){ var strongEl = capCon.next(); if(xhr.responseText == "0"){ if(strongEl.prop("tagName") == "STRONG"){ strongEl.getReplace('<strong id="sE">קוד שגוי</strong>'); }else{ capCon.after('<strong id="sE">קוד שגוי</strong>').next(); } bToSubmit = false; }else{ if(strongEl.prop("tagName") == "STRONG"){ strongEl.remove(); } } }
ネットワークをテストして、ファイルcaptchaValidator.phpがブラウザに到達するかどうかを確認すると、ステータス 200 が表示され、すべて問題ないようです。
私は正しい値をテストしました. 何が変わったのかわからない前にコードは機能しました. しかし, これは私のウェブサイトの登録ページへのリンクです.わかりました, しかし、コンソール タブで言及したエラーが表示されます. 誰かが見てくれれば、とても感謝しています.