我正在使用ajax对我编写的java程序(实现com.sun.net.httpserver.httphandler)发帖。我有一个问题,我可以执行ajax调用并看到它被java程序捕获,但是在Firebug中,响应为空。
这是我的ajax代码。
jQuery.ajax({
type: "POST",
url: "http://localhost/applications/nvn",
data: "command=GetNVN",
dataType:"text",
success: function(msg){
var fdsa;
fdsa++;
init(msg);
},
error: function( foo ){
var fff;
fff++;
}
});
这是我的服务器代码。
Headers headers = t.getRequestHeaders();
Set<Map.Entry<String, List<String>>> entries = headers.entrySet();
StringBuffer response = new StringBuffer();
for (Map.Entry<String, List<String>> entry : entries)
response.append(entry.toString() + "\n");
t.sendResponseHeaders(200, response.length());
OutputStream os = t.getResponseBody();
os.write(response.toString().getBytes());
os.close();
jQuery代码中的错误处理程序有一个对象,其中包含“错误”。 另外一个细节,我的服务器在端口80上,据我所知,没有跨域查询...我想。
感谢任何建议,
MJ
答案 0 :(得分:0)
我明白了。
我正在进行跨域ajax调用。我只是将内容类型更改为jsonp并且它有效。