Java ajax跨站点空响应字符串

Java ajax跨站点空响应字符串,java,jquery,ajax,cross-site,Java,Jquery,Ajax,Cross Site,我正在做一个跨站点的ajax到java数据事务(不确定我是否正确命名了它,所以请原谅我)。Java文件中的部分代码: BufferedReader input = new BufferedReader(new InputStreamReader(connectionsocket. getInputStream())); DataOutputStream output = new DataOutputStream(connec

我正在做一个跨站点的ajax到java数据事务(不确定我是否正确命名了它,所以请原谅我)。Java文件中的部分代码:

BufferedReader input =
            new BufferedReader(new InputStreamReader(connectionsocket.
            getInputStream()));
DataOutputStream output =
            new DataOutputStream(connectionsocket.getOutputStream());
...
output.writeChars("some random text");
output.close();
我还有index.php文件和一些jQuery:

$(document).ready(function() 
    {
        $("#send_data").click(function(){
            $.ajax({
                type: 'get',
                dataType: 'text',
                url: 'http://localhost:1024/'+$("#command").val(),
                success: function(data) {console.log(data);},
            error: function() { console.log("Error"); }
        })
    });
});
命令在Java端正确发送和接收。那么从java到ajax的请求也是可以的。输出也在工作。(例如,如果我删除output.close(),我确实在firebug中看到它正在等待关闭输出。)


唯一的问题是,无论我做什么,我都没有收到回复文本。它总是一个空字符串:(

在代码中创建
数据类型:“xml”
尝试与
文本一起使用
。因为在您的响应中,我没有看到xml格式,所以您是使用文本格式创建响应

            $.ajax({
                type: 'get',
                dataType: 'text',
                url: 'http://localhost:1024/'+$("#command").val(),
                success: function(data) {console.log(data);},
            error: function() { console.log("Error"); }
阅读此选项了解ajax请求

表示您违反了。您必须使用相同的
host:port
组合来检索网页(或至少是执行AJAX的代码的javascript版本)并发送AJAX请求

换句话说,如果您的JS来自
localhost:80
,并且您试图向
localhost:1024
发送AJAX请求,那么您违反了安全策略


有很多方法可以实现跨域AJAX,但你真的需要吗?我建议从servlet中提供jQuery代码,或者完全消除PHP,或者更好的是,用Scala或Erlang重写所有内容。

是的,是的,对不起,真的很抱歉,我只是在拼命尝试我能想到的任何东西。我99%的时间都在尝试“文本”,但愚蠢的我在问题中写xml:(真的很抱歉,我编辑了that.np^^,你的问题还没有解决吗?你是否尝试设置response.setContentType(“text/html”);?你是想用Java还是Ajax编写它?在以下两种语言中都找不到此函数:(是的,我认为您使用servlet,如果不尝试将
output.close();
替换为
output.flush();
这是为了说明为什么Ajax->Java传输的第一步成功(Java端接收发送的url),但第二步失败了?我想如果我违反了同源策略,第一步应该失败。你能解释一下吗?在哪个阶段阻止应该取决于浏览器。如果你尝试使用足够旧的IE版本(比如7或8),它应该可以工作(但没有保证)。你为什么不干脆这样做呢?享受对给定链接进行Firebug的乐趣。:)谢谢你的帮助。这两个都无法从我的电脑访问,但第二个可以从访问。我感觉它与我在xampp中的设置有关?不,这是你的设计。你没有遵守同一原产地政策。你不可能尝试这样做。
cross-site ajax to java data transaction
index.php
Java