Ist es möglich, eine Antwort vom Server zu erhalten, ohne den gesamten Seiteninhalt zu ersetzen?

Post a reply

Smilies
:) :( :oops: :chelo: :roll: :wink: :muza: :sorry: :angel: :read: *x) :clever:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Ist es möglich, eine Antwort vom Server zu erhalten, ohne den gesamten Seiteninhalt zu ersetzen?

by Anonymous » 07 Apr 2025, 23:17

Ich habe eine einfache Get -Anfrage, bei der ich eine Anfrage an den Server sende, um eine einfache Nachricht zu fordern, und dann diese Nachricht in ein -Tags wie folgt: "Hallo, ich bin vom Server." Wenn ich dies jedoch tue, obwohl ich die gewünschte Nachricht vom Server erhalte, begegne ich einen wichtigen Nebeneffekt - die gesamte Seite wird durch die Antwort überschrieben. Wenn ich jedoch die Nachricht abreiße, wird die gesamte Seite durch die Antwort ersetzt. Auch wenn ich es mit zwei verschiedenen Routen wie / und / / Nachricht mache, möchte ich keine der Route mit dieser einfachen Antwort sehen, sondern sie auf nützliche Weise verwenden. Ich hoffe das macht Sinn.

Code: Select all

let request = new Request("http://localhost:3000",{
method:"GET",
headers:{
"Content-Type":"text/plain"
}
})
fetch(request)
.then(function(response){
return response.text();
})
.then(function(response){
document.querySelector("p").text content = p;
})
.catch(function(error){
console.log("something went wrong")
})

< /code>
und < /p>
import com.sun.net.httpserver.*;
import java.io.*;
import java.net.InetSocketAddress;

public class Server {
public static void main(String[] args) throws IOException {
HttpServer server = HttpServer.create(new InetSocketAddress(3000), 0);

server.createContext("/", exchange -> {
var response = "hello from the server"
exchange.getResponseHeaders().set("Content-Type", "text/plain");
exchange.sendResponseHeaders(200, response.getBytes().length);
exchange.getResponseBody().write(response.getBytes());
exchange.close();
});

server.setExecutor(null);
server.start();
System.out.println("Server running at http://localhost:3000/");
}
}


Top