libgdx的http请求方法不适用于Web应用程序

时间:2014-03-05 12:23:04

标签: java gwt libgdx http-request

我正在测试libgdx库的net类,以便从传递给setUrl方法的页面获取json。这部分代码来自一个名为ApplicationScreen的类,它实现了libgdx Screen界面。这就是代码:

@Override
public void show() {

    String requestContent = null;

    httpRequest = new HttpRequest(Net.HttpMethods.GET);
    httpRequest.setUrl("http://localhost/projects/SqlParser/index.php");
    httpRequest.setHeader("Content-Type", "text/plain");
    httpRequest.setContent(requestContent);

    Gdx.net.sendHttpRequest(httpRequest, new HttpResponseListener() {

        public void handleHttpResponse(HttpResponse httpResponse) {

            final int statusCode = httpResponse.getStatus().getStatusCode();

            System.out.println("HTTP Request status: " + statusCode);
            System.out.println("Content:");
            System.out.println(httpResponse.getResultAsString());


        }

        public void failed(Throwable t) {
            System.out.println("HTTP request failed!");
        }

    });

}

当我运行桌面版本时,我在控制台窗口“HTTP请求状态:200”上收到此消息,然后是http请求的内容,因此代码执行了我期望它应该执行的操作。 当我运行html版本时,我在控制台“HTTP请求状态:0”上收到此消息。 有什么建议吗?

3 个答案:

答案 0 :(得分:1)

您是否在Android清单中设置了权限?

How to add manifest permission to android application?

还需要检查您在传递url而不是localhost时使用的是您正在使用的计算机的IP。

希望这有一些帮助......即使它已经过期了。

答案 1 :(得分:1)

这可能为时已晚,但就我而言,事实证明这是违反同源政策的行为。

答案 2 :(得分:0)

我使用不安全版本的Google Chrome解决了这个问题,使用以下选项启动浏览器: - allow-file-access-from-files --disable-web-security