1

我试图从一个简单的 HTML 中获取 JSON,但我无法成功:c .. 我从一个 java Servlet、MySQL 生成 JSON,就像这样......

Prueba.java (Servlet)

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    // TODO Auto-generated method stub

    response.setContentType("text/html");

    PrintWriter out = response.getWriter();

    try{

        Connection conn = ConexionBD.obtenerConexion();
        Statement stmt = conn.createStatement();
        ResultSet rs = stmt.executeQuery("SELECT * FROM grifo where id=1");

            while(rs.next()){
                String grifo = rs.getString("grifo");
                String distrito = rs.getString("distrito");
                String latitud = rs.getString("latitud");
                String longitud = rs.getString("longitud");

                JSONObject json = new JSONObject();
                json.put("grifo", grifo);
                json.put("distrito", distrito);
                json.put("latitud", latitud);
                json.put("longitud", longitud);

                    out.print(json);
            }

        } catch (Exception e){
            out.print(e);
        }
}

所以,当我运行它时,我得到了 JSON:

{"grifo":"Grifo Libertad","distrito":"San Juan de Lurigancho",
"latitud":"-123.059028347924","longitud":"93.945783454234234"}

在我的 java 项目中,我有另一个名为index.jsp的页面,它获取 JSON。

我正确获取了 json,但是当我使用相同的代码创建.html(在桌面:file:///C:/Users/Jhonatan/Desktop/prueba.html 中的网络浏览器)时: http://freetexthost。 com/w2xgabhaks

我无法获取 JSON,只显示任何内容!服务器上的文件(.jsp)、其他位置(桌面:.html)或数据库(mysql)是否有问题?

那么https://graph.facebook.com/zombies是如何工作的呢?

谢谢大家!

4

1 回答 1

0

你看过 JS 控制台说什么了吗?我的猜测是它会抛出类似Origin null is not allowed by Access-Control-Allow-Origin.

JavaScript 请求具有同源策略。您要做的是跨域请求

简单的解决方法是让您的服务器返回以下标头:

Access-Control-Allow-Origin: *

但我建议您阅读所有相关内容并了解其含义。

于 2013-08-08T21:45:17.340 回答