首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用本地API开发Nativescript应用程序

用本地API开发Nativescript应用程序
EN

Stack Overflow用户
提问于 2017-03-31 22:57:55
回答 1查看 909关注 0票数 0

这可能是一个愚蠢的问题,我对NativeScript非常陌生。我有一个样本项目。尝试对本地 api执行简单的get请求。这是我的本地开发计算机上的一个网站设置,用于:

http://test-api.dev/api/v1

我试图访问本地API上的端点,但它似乎没有返回任何内容。但是,我可以将API端点更改为不是本地API的东西,有时它会返回一些内容。

API是一个Laravel/PHP,我可以确认它实际上是返回有效的json,所以我不认为api是问题所在。这是我的档案。

代码语言:javascript
复制
var config = require("../../shared/config");
var fetchModule = require("fetch");
//var http = require("http");
var ObservableArray = require("data/observable-array").ObservableArray;

function GroceryListViewModel(items) {
    var viewModel = new ObservableArray(items);
    viewModel.load = function() {
        // http.getJSON(config.apiUrl + "events").then(function(result) {
        //  console.log(JSON.stringify(result));
        // }, function(error) {
        //  console.error(JSON.stringify(error));
        // });

        return fetch(config.apiUrl + "events", {
                headers: {
                    //"Authorization": "Bearer " + config.token
                    "Content-Type": "application/json"
                }
            })
            .then(handleErrors)
            .then(function(response) {
                console.log(response);
                return response.json();
            }).then(function(data) {
                console.dump(data);
                data.forEach(function(event) {
                    viewModel.push({
                        name: event.name,
                        id: event.id
                    });
                });
            });
    };

    viewModel.empty = function() {

        while (viewModel.length) {
            viewModel.pop();
        }
    };
    return viewModel;
}

function handleErrors(response) {
    if (!response.ok) {
        console.log(JSON.stringify(response));
        throw Error(response.statusText);
    }
    return response;
}

module.exports = GroceryListViewModel;

请对我放松点,尽管在这件事上一定要寻求帮助。先谢谢大家。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-04 21:04:44

所以我发现了这个问题,我想我会把它发出去。问题不是我的端点或我的NS安装。这是因为Android仿真器开箱即用,如果不对模拟器上的主机设置进行一些修改,就无法引用在开发计算机上运行的本地站点。这个过程在这里解释,但我想强调的是,任何有同样问题的人。

Android仿真器不支持对本地机器站点的开箱即用()访问,如下所述:https://developer.android.com/studio/run/emulator-networking.html

它需要通过设备设置,每次除非有人有一个解决方案来设置这个只有一次,我希望看到它在这里共享。

有些解决方案概述了类似的步骤,但我在每一个步骤上都有问题。这里有一个概述了这个问题的要点:http://sadhanasiblog.blogspot.in/2012/07/local-environment-setup-for-android.html

谢谢你的帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43150805

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档