我正在开发一个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"}
提前致谢! (对不起,如果这是一个简单的答案的菜鸟问题,但几个小时的谷歌搜索并没有帮助我)
答案 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: *
现在它就像一个魅力! :)
感谢您的帮助!
问候