![](/img/trans.png)
[英]Cant make a fetch post request from front end client to local node server, only GET requests work
[英]Java server that can get POST requests from JS client
基本上,我只是試圖創建一個簡單的HTML頁面,該頁面可以將文本字符串發送到服務器。 服務器在本地主機上的某個端口上運行,並接收該字符串。
我找到了可以處理POST請求的簡單服務器的代碼 :
public static void main(String args[]) throws Exception
{
ServerSocket s = new ServerSocket(8080);
while (true) {
Socket remote = s.accept();
System.out.println("Connected");
BufferedReader in = new BufferedReader(new InputStreamReader(remote.getInputStream()));
PrintWriter out = new PrintWriter(remote.getOutputStream());
String str = ".";
while (!str.equals("")) {
str = in.readLine();
if (str.contains("GET")) {
break;
}
}
System.out.println(str);
out.println("HTTP/1.0 200 OK");
out.println("Content-Type: text/html");
out.println("Access-Control-Allow-Origin: null");
out.println("");
out.flush();
}
}
但是我不知道該怎么做。 我了解到我需要使用可以發送異步請求的XMLHttpRequest
:
function sendData(data) {
var XHR = new XMLHttpRequest();
var urlEncodedData = "message";
var urlEncodedDataPairs = [];
var name;
for (name in data) {
urlEncodedDataPairs.push(encodeURIComponent(name) + '=' + encodeURIComponent(data[name]));
}
urlEncodedData = urlEncodedDataPairs.join('&').replace(/%20/g, '+');
XHR.open('POST', 'http://localhost:8080', true);
XHR.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
XHR.send(urlEncodedData);
}
因此,我正在啟動服務器,使用JS腳本打開.html文件,然后該腳本連接到服務器。 我該如何處理腳本發送的消息? 如何解碼和打印它? 最終,我是否以正確的方式編寫了消息發件人?
如果您只是想嘗試創建用於測試並繼續構建的端點,請嘗試使用Postman 。 您應該能夠為POST請求編寫一個自定義主體。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.