私はプログラミングの経験がありますが、GS、JS、または UI に関連するものはまったく初めてです。
シナリオ: Greasemonkey スクリプトからサーブレットへの AJAX 呼び出しを行う
Greasemonkey/JS コード:
function getResultsData(query){
alert("Getting the Data");
$.ajax(
{
cache: false,
data: {"q":query},
dataType:"text",
url: "http://myserver.com:8000/search?",
success: processData
}); //end of $.ajax }
function processData(data){
alert("Got the data");
var myResultDiv = document.getElementById("searchRes");
myResultDiv.innerHTML = data; }
サーブレット コード:
System.out.println("-----------This is an AJAX call------------------");
//Commented the original logic
resp.setContentType("text/plain");
resp.setCharacterEncoding("UTF-8");
resp.getWriter().write("Text from Servlet");
問題:
URL ($.ajax 内) が他の既存の API である場合、GS/JS コードは完全に機能します。応答が UI に反映される
ただし、サーバーの URL を指定すると、Firebug.Console で、その呼び出しに対する HTTP 応答がないことを確認できますが、ステータスは 200 OK で、エントリ全体が「赤」になっています。
Firebug の「http コール エントリ」からコピーした URL をテストすると、新しいタブに「サーブレットからのテキスト」という応答が表示されるため、完全に機能しています。
誰か助けてください。
注:グリースモンキーが実行されている Web サイトと、私のサーバーは同じドメインに属しています。
グリースモンキーのウェブサイト: wwww.example.com
私のサーバー: www.myserver.example.com