JavaのサーブレットにJavascript関数を使用してリクエストを送信しています。サーブレットはcontent typeが "text/plain"に設定されたレスポンスを書き込みます。 私はこれをFirebugで追跡しました。要求がステータス200(OK)で完了しても、request.responseTextは常にnullです。 responseTextはなぜnullですか?私のAJAXリクエストがnull responseTextを受け取るのはなぜですか?
これまでJavaクライアントでこれを試してみましたが、これは正常に応答を受信しました。
google.maps.event.addListener(map, 'click', function(event) {
var request = new XMLHttpRequest();
request.open("POST", <MY URL>, true);
request.onreadystatechange = function() {
if (request.readyState == 4) {
var resp = request.responseText;
console.log(resp);
}
}
request.send(null);
});
UPDATE:私が使用し、私はChromeを使用し、JavaScriptコンソールを表示して与えられた答えで提案後
は、私は自分のサーバーのコードでは、次のエラー
XMLHttpRequest cannot load http://localhost:8080/... Origin null is not allowed by Access-Control-Allow-Origin.
に気づきましたHTTPレスポンスに適切なヘッダーを設定するには、次のように入力します。
setHeader("Access-Control-Allow-Origin", "*");
そしてvoila - 応答で期待どおりのデータが返されました!
ここには十分な情報がありません。どのブラウザですか?送信される応答テキストは何ですか? AJAX抽象化を使用することができます。 – Incognito
'send()'メソッドの引数に 'null'ではなく実際の文字列を使用するとどうなりますか?私はそれが特に意味のある何かでなければならないとは思っていませんが、おそらくあなたのサーバーサイドのスクリプトはそれが得られないPOST変数を探しています。ちょっとした考え。 – Aaron
Javaコードを表示できますか? – nnnnnn