XMLHttpRequestで送信されたパラメータを確認することに興味があります。XMLHttpRequestレスポンスからparamsを取得する方法はありますか?
たとえば、param 'option = 1'を指定してPOST請願書を送信した場合、レスポンスから取得できますか?
メソッドとプロパティーを確認しましたが、取得する方法がありませんでした。
XMLHttpRequestで送信されたパラメータを確認することに興味があります。XMLHttpRequestレスポンスからparamsを取得する方法はありますか?
たとえば、param 'option = 1'を指定してPOST請願書を送信した場合、レスポンスから取得できますか?
メソッドとプロパティーを確認しましたが、取得する方法がありませんでした。
Bergiはそれがなかったパラメータを取得することはできません言ったように応答の要求とともに送信されます。だから私は質問を閉じる。
お手数をおかけしていただきありがとうございます。
XMLHTTPRequest
を送信し、ブラウザのJSコンソール(F12 for Chrome/Firefox)で応答オブジェクトを調べます。
私はデータがそこにないと信じていますが、少なくとも私は一度プロジェクトのXMLHttpRequest
open()
メソッドを変更しました(もちろん、私はそれを見つけるにはあまりにも愚かかもしれません)。こうすることで、私のデフォルトのエラーハンドラは、ユーザにエラーを出力したり、エラーをバックエンドに報告するエラーを送信したりする際の元のURLを知ることができます。
ラフコードスニペットは、プロジェクトのinit-コードから引っ張っ:
/**
* Check XMLHttpRequest availability
*/
var ajax = null;
var proto = null;
if (window.XMLHttpRequest) {
ajax = new XMLHttpRequest();
proto = XMLHttpRequest.prototype;
} else if (window.ActiveXObject) {
try {
ajax = new ActiveXObject("Msxml2.XMLHTTP.6.0");
proto = ActiveXObject("Msxml2.XMLHTTP.6.0").prototype;
} catch (e) { }
}
if (ajax == null) {
alert ("Can not create AJAX object. You need a more recent browser!");
return;
}
/**
* Update ajax prototype to store the URL (for better error handling)
*/
try {
var origOpen = proto.open;
proto.open = function (method, url) {
this._url = url;
return origOpen.apply (this, arguments);
}
} catch (e) {
console.log ("Can not patch XMLHttpRequest to store URL. Console output will omit them...");
}
あなたが代わりにsend()
関数に渡されるPOSTデータのためにこれを適応させる必要があります。 このメソッドはおそらく悪いスタイルであり、私のJSスタイルはさらに悪いことに注意してください!
良い:しかし、あなたはいつものXMLHttpRequestオブジェクトに格納することなく、コールバック関数に直接POSTデータを渡すことができます。
var postData = "SomeStuff-Foobar123";
var ajax = new XMLHttpRequest(); //add magic for other browsers here
ajax.open ("POST", "ajax.php", true);
ajax.onreadystatechange = function() {
if (this.readyState != 4 || this.status != 200) {
console.log ("Not ready, yet...");
return 0;
}
//response is in this.responseText
//but you can still access the parent objects!
console.log ("Done with Code 200. POSTed data: " + postData);
}
ajax.send (postData);
いいえ、応答は応答であり、要求ではありません。あなたは送信したパラメータを自明に覚えて、レスポンスと共にチェッカーに渡すことができます。 – Bergi
あなたはより多くのコンテキストを提供する必要があります:XMLHttpRequestはクライアント側であり、サーバ側で要求を受け取るためには何を使用しますか?ちなみに、レスポンスではなくリクエストからパラメータをチェックする必要があります。 – Mosd
要点は、変数に格納することなく、要求で送信されたパラメータを取得することでした。 とにかく返信いただきありがとうございます。 – Vers