[JAVA] Verwenden Sie XMLHttpRequest

Einführung

Senden Sie Daten mit einer HTTP-Anfrage vom Firefox-Addon.

Beispiel mit XMLHttpRequest

background.js


browser.contextMenus.create({
    id: "name",
    title: "get name",
    contexts: ["selection"],
});

var name = "blue";
getting = browser.storage.local.get("name", function (value) {
    name = value.name;
});

browser.contextMenus.onClicked.addListener((info, tab) => {
    getting = browser.storage.local.get("name", function (value) {
        name = value.name;
    });

    if (info.menuItemId === "name") {
        url= "http://sample/?arg0=" + name;
        doGet(url);
    }
}

function doGet(url) {
	console.log(url);
    const xhr = new XMLHttpRequest();
    xhr.open('GET', url);
    xhr.onload = () => {
      console.log(xhr.status);
    };
    xhr.onerror = () => {
      console.log(xhr.status);
      console.log("error!");
    };
    xhr.send();
}

Daten in einem Servlet empfangen

Holen Sie sich den Wert mit dem Abfrageparameter von GET.

doGet


protected void doGet(HttpServletRequest request, HttpServletResponse response)
		throws ServletException, IOException {
	try {
		request.setCharacterEncoding("UTF-8");
		response.setHeader("Access-Control-Allow-Origin", "*");
		response.setContentType("text/html; charset=UTF-8");
	} catch (UnsupportedEncodingException e1) {}
	
	String arg0 = request.getParameter("arg0"); 
	//Denn wenn die Codierung nicht funktioniert hat
	String query = request.getQueryString();
	if (query.indexOf("arg0=")>0) {
		arg0 = query.substring(query.indexOf("arg0=")+5);
		arg0 = URLDecoder.decode(arg0, "UTF-8");
	}
	//Kürzung
}

Über Access-Control-Allow-Origin

Ohne Access-Control-Allow-Origin zeigt die Firefox-Konsole die folgende Meldung an:

console


Blockierte Cross-Origin-Anfrage:Mit der gleichen Ursprungspolitik
http://sample/?arg0=Das Laden von Remote-Ressourcen unter dem Namen wird abgelehnt
(Grund:CORS-Header „Zugriff-Control-Allow-Origin ’fehlt)。

Referenz

https://developer.mozilla.org/ja/docs/Web/API/XMLHttpRequest https://developer.mozilla.org/ja/docs/Web/HTTP/HTTP_access_control

Recommended Posts

Verwenden Sie XMLHttpRequest
Verwenden Sie AutosizingTextView
Verwenden Sie JavaFX / TextFormatter
Verwenden Sie ControlsFX / Validation
Verwenden wir jcmd
[Java] Verwenden Sie Collectors.collectingAndThen
[Rails] Verwenden Sie jQuery
Verwenden Sie sassc direkt