javasocket提供的jqueryajax调用不';我没有得到成功的答复 /-----------Java套接字服务器-------- 包com.company.server; 导入java.io.BufferedInputStream; 导入
javasocket提供的jqueryajax调用不';我没有得到成功的答复javasocket提供的jqueryajax调用不';我没有得到成功的答复 /-----------Java套接字服务器-------- 包com.company.server; 导入java.io.BufferedInputStream; 导入,java,javascript,jquery,ajax,http,Java,Javascript,Jquery,Ajax,Http,javasocket提供的jqueryajax调用不';我没有得到成功的答复 /-----------Java套接字服务器-------- 包com.company.server; 导入java.io.BufferedInputStream; 导入java.io.BufferedWriter; 导入java.io.IOException; 导入java.io.OutputStreamWriter; 导入java.io.StringReader; 导入java.net.Socket; 导入
/-----------Java套接字服务器--------
包com.company.server;
导入java.io.BufferedInputStream;
导入java.io.BufferedWriter;
导入java.io.IOException;
导入java.io.OutputStreamWriter;
导入java.io.StringReader;
导入java.net.Socket;
导入java.util.Properties;
导入org.slf4j.Logger;
导入org.slf4j.LoggerFactory;
公共类Worker实现了Runnable{
私有静态记录器Logger=LoggerFactory.getLogger(Worker.class);
专用插座;
公共工作者(最终插座参数){
socket=socketParam;
}
公开募捐{
logger.trace(String.format(“与%s建立连接”),socket.getRemoteSocketAddress());
编排();
}
公共void编排(){
试一试{
最终HttpPacket httpIn=readRequest();
应答(httpIn);
}捕获(IOE异常){
e、 printStackTrace();
}
}
公共HttpPacket readRequest()引发IOException{
最终HttpPacket httpIn=新HttpPacket();
final BufferedInputStream in=new BufferedInputStream(socket.getInputStream());
byte[]streamBuf=新字节[in.available()];
in.read(streamBuf);
最终管柱有效载荷=新管柱(streamBuf,“UTF-8”);
最终字符串[]payloadSplit=payload.split(System.getProperty(“line.separator”);
最终StringBuilder headerBuilder=新StringBuilder();
最终StringBuilder bodyBuilder=新StringBuilder();
布尔bodyField=false;
对于(int i=0;i
错误回调中给出了什么错误原因?javascript控制台中出现了哪些错误?(F12)@Avempace-在第3点中得到回答。@KevinB-仅在chrome中出现错误。警报(“错误:+jqXHR.responseText”);显示“错误:”[Empty]这不是错误原因<代码>错误抛出包含错误原因。对不起,以前没有说过。甚至那也是空的。
//--------- Java Socket Server --------
package com.company.server;
import java.io.BufferedInputStream;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.StringReader;
import java.net.Socket;
import java.util.Properties;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class Worker implements Runnable {
private static Logger logger = LoggerFactory.getLogger(Worker.class);
private Socket socket;
public Worker(final Socket socketParam) {
socket = socketParam;
}
public void run() {
logger.trace(String.format("Connection established with %s.", socket.getRemoteSocketAddress()));
orchestrate();
}
public void orchestrate() {
try {
final HttpPacket httpIn = readRequest();
respond(httpIn);
} catch (IOException e) {
e.printStackTrace();
}
}
public HttpPacket readRequest() throws IOException {
final HttpPacket httpIn = new HttpPacket();
final BufferedInputStream in = new BufferedInputStream(socket.getInputStream());
byte[] streamBuf = new byte[in.available()];
in.read(streamBuf);
final String payload = new String(streamBuf, "UTF-8");
final String[] payloadSplit = payload.split(System.getProperty("line.separator"));
final StringBuilder headerBuilder = new StringBuilder();
final StringBuilder bodyBuilder = new StringBuilder();
boolean bodyField = false;
for (int i = 0; i< payloadSplit.length; i++) {
if (i == 0) {
String[] firstLine = payloadSplit[0].split("\\s");
httpIn.setMethod(firstLine[0]);
httpIn.setUrl(firstLine[1]);
} else if ("".equals(payloadSplit[i].trim())) {
bodyField = true;
} else if (bodyField) {
bodyBuilder.append(payloadSplit[i]);
bodyBuilder.append("\n");
} else {
headerBuilder.append(payloadSplit[i]);
headerBuilder.append("\n");
}
}
final Properties props = parsePropertiesString(headerBuilder.toString());
httpIn.setHttpHeaders(props);
httpIn.setBody(bodyBuilder.toString());
logger.trace(String.format("Data received from from %s connection:\n%s",
socket.getRemoteSocketAddress(), payload));
return httpIn;
}
public Properties parsePropertiesString(String s) throws IOException {
final Properties p = new Properties();
p.load(new StringReader(s));
return p;
}
public void respond(final HttpPacket httpIn) throws IOException {
BufferedWriter out = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
StringBuilder builder = new StringBuilder();
builder.append("HTTP/1.1 200 OK" + System.getProperty("line.separator"));
builder.append("Content-Type: text/plain" + System.getProperty("line.separator"));
builder.append("Content-Length: " + httpIn.getBody().length()
+ System.getProperty("line.separator") + System.getProperty("line.separator"));
builder.append(httpIn.getBody());
builder.append(httpIn.getBody());
out.write(builder.toString());
out.close();
socket.close();
}
}
//-------------- JQuery Ajax --------------
$(document).ready(function() {
$(".test").click(function() {
testMessage();
});
});
function testMessage() {
var url = "http://localhost/";
$.ajax({
type : 'POST',
url : url ,
contentType: "text/html",
success : function(response, textStatus, jqXHR) {
alert(response);
},
error : function(jqXHR, textStatus, errorThrown) {
alert("Error getting response.");
}
});
};