gpt4 book ai didi

java - jquery ajax和java服务器,丢失数据

转载 作者:行者123 更新时间:2023-12-01 13:16:15 25 4
gpt4 key购买 nike

我有这个 ajax 函数,看起来像这样

   $.ajax({
type: "POST",
url: "http://localhost:55556",
data: "lots and lots of pie",
cache: false,
success: function(result)
{
alert("sent");


},
failure: function()
{
alert('An Error has occured, please try again.');
}
});

和一个看起来像这样的服务器

 clientSocket = AcceptConnection();

inp = new BufferedReader(new InputStreamReader (clientSocket.getInputStream()));
String requestString = inp.readLine();

BufferedReader ed = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));

while(true){
String tmp = inp.readLine();
System.out.println(tmp);
}

现在奇怪的是,当我发送ajax时,我的服务器通过使用system.out获取

Host: localhost:55556
User-Agent: Mozilla/5.0 (Windows NT 6.2; WOW64; rv:27.0) Gecko/20100101 Firefox/27.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Content-Length: 20
Origin: null
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

问题是我发送的数据在哪里,大量的馅饼在哪里?

最佳答案

数据应该出现在标题行之后的空行之后,但我认为问题是数据不以换行符结尾,因此,您无法使用 .readLine()< 读取它 方法。

在循环标题行时,您可以查找“Content-Length”行并获取数据的长度。当到达空行时,停止使用 .readLine()。相反,改为一次读取一个字符,读取“Content-Length” header 指定的字符数。我想你可以在 this answer 中找到示例代码.

如果可以的话,我建议您使用库来帮助解决此问题。我认为Apache HTTP Core library可以帮忙解决这个问题。请参阅this answer .

关于java - jquery ajax和java服务器,丢失数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22443146/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com