java - 响应来自 Java 套接字的 AJAX 请求

标签 java javascript ajax sockets xmlhttprequest

我正在尝试让一个简单的 Java 服务器响应 XmlHttpRequest,但我不确定如何响应。至此,服务器上的套接字得到了浏览器的请求。在获得套接字输出流后,服务器写入它,然后关闭所有连接。还有更多的东西吗?我假设您需要一个 header 来正确响应请求,如果是的话,那个 header 是什么。谢谢!

这是我现在正在做的事情。但是,我似乎无法让浏览器接受消息。

编辑: Java 服务器代码:

private String HEADER = "HTTP/1.1 200 OK\n" +
"Cache-Control: private\n" +
"Content-Type: text/html; charset=utf-8\n" +
"Expires: Sun, 21 Feb 2100 20:39:08 GMT\n" +
"Server: Microsoft-IIS/7.5\n" +
"Date: Sun, 21 Apr 2012 20:39:07 GMT\n" +
"Connection: close\n" +
"Content-Length: 10\n";

         browserWriter =
                new PrintWriter(
                        browser.getOutputStream(),true);

            while((data = browserReader.readLine()) != null) {
                if (data.indexOf("POST") != -1) {

                    /* TODO TEST - TAKE OUT */
                    browserWriter.println(HEADER + "APPLESAUSE");
                    browserWriter.close();
                    browserReader.close();
                    browser.close();
                    return;

Javascript:

  xmlhttp.open("POST","http://10.0.2.15:1024/password?url=" + site, false);
  xmlhttp.send(null);

最佳答案

所有 XmlHTTPRequest 都需要 HTTP 响应,因此需要 HTTP header 。一旦给出响应就可以关闭连接。这基本上只是充当网络服务器。

一些 HTTP header 字段:http://en.wikipedia.org/wiki/List_of_HTTP_header_fields

官方规范见此处:http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html

这里有一个不错的教程:http://net.tutsplus.com/tutorials/other/http-headers-for-dummies/

关于java - 响应来自 Java 套接字的 AJAX 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10112926/

相关文章:

javascript - 在 IE11 中使用 window.opener

javascript - 如何在 Javascript 中将十进制数转换为字符串?

javascript - Laravel 4 JavaScript ajax 请求

java - 在 jar 中找不到带注释的自定义 JSF2 组件

java - 是否可以使用 DSL 将 bean id 分配给 spring 集成入站适配器

javascript - 调用不带括号的 javascript 函数

javascript - ajax 中的 phonegap XML 解析器在 iOS 上出错

javascript - 从页面中隐藏的代码部分获取 HTML

java - 响应式(Reactive) spring-data-solr 存储库

java - 如何处理包改变的Java序列化对象?