【发布时间】:2015-08-24 19:29:54
【问题描述】:
我正在开发一个 Javascript sn-p,它在 HTTP 请求的帮助下与 本地 Java 服务器通信。
我的请求如下所示:
var req = $.ajax({
type : "GET",
dataType : "json",
url : "http://127.0.0.1:8081",
data : data_dict
});
我从 Java 服务器发送的响应标头似乎没问题(至少 Firefox Web 开发人员告诉我是这样)。但是body解析有错误:
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"}
提前致谢! (很抱歉,如果这是一个简单答案的菜鸟问题,但几个小时的谷歌搜索并没有帮助我)
【问题讨论】:
-
在您的开发工具中,返回的内容类型是什么(文本/纯文本、应用程序/json 等)?还可以尝试检查任何隐藏字符,并尝试将您的回复粘贴到jsonlint.com 并运行它。
-
感谢您的链接。它告诉我我的 json 字符串是正确的。我在主帖中添加了完整的回复。好像里面没有空标志:(
-
您如何处理响应?
-
通过在数据下方定义成功和错误以及定义 req.done 和 req.fail 函数来尝试此操作。它总是以错误/失败函数结束。
-
您的网页位于哪个 URL 上?看起来 CORS 可能会发挥作用。
标签: java jquery ajax json http