HTTP GET响应解析错误(空字符串?) - 但正文不为空

时间:2015-06-09 19:32:20

标签: java jquery ajax json http

我正在开发一个Javascript代码段,它借助HTTP请求与本地 Java Server进行通信。

我的要求如下:

var req = $.ajax({
    type : "GET",
    dataType : "json",
    url : "http://127.0.0.1:8081", 
    data : data_dict
});

我从Java Server发送的响应头似乎没问题(至少Firefox Web Developer告诉我这样)。但是正文解析存在错误:

  

JSON.parse:json数据第1行第1列的数据意外结束

好像我的回答是空的......但是当我打开时 http://127.0.0.1:8081/?test_request_key=test_request_value它会在我的浏览器中显示预期的正文:

  

{ “test_respond_key”: “test_respond_val”}

你有暗示吗?我不知道在哪里搜索问题...

编辑:完整的响应

HTTP/1.1 200 OK
Server: Java HTTPStudyServer
Content-Type: application/json
Content-Length: 39
Connection: close

{"test_respond_key":"test_respond_val"}

提前致谢! (对不起,如果这是一个简单的答案的菜鸟问题,但几个小时的谷歌搜索并没有帮助我)

1 个答案:

答案 0 :(得分:1)

好的,我找到了解决方案(在你的帮助下!)

问题确实是CORS!如果您查看http://de.wikipedia.org/wiki/Same-Origin-Policy处的示例,您会看到另一个端口的不计入相同的来源

这篇文章给了我证明:Why is same origin policy kicking in when making request from localhost to localhost?

所以我只是将此行添加到响应标题

Access-Control-Allow-Origin: *

现在它就像一个魅力! :)

感谢您的帮助!

问候