无法发布到本地服务器

时间:2017-09-24 12:48:57

标签: angular angular4-httpclient

我有一个本地Angular4应用程序尝试发布到本地django服务器。问题是我在http.post()中收到了错误,但我认为这不是由CORS的问题造成的(I' m设法使用Android应用程序使用此API,我在Angular-app中看不到有关Access-Control-Allow-Origin)的任何错误消息。请在下面找到我的代码:

// get token from the server
const body = {
    username: 'username',
    password: 'password'
};
this.http.post('http://website.loc/api/auth/login/', body).subscribe(
    res => {
        console.log('res:' + res);
    },
    (err: HttpErrorResponse) => {
        console.log('err');
        console.dir(err);
    }
);

以下是我遇到的错误(似乎无法读取网址):

{headers: Object, status: 0, statusText: "Unknown Error", url: null, ok: false, name: "HttpErrorResponse", message: "Http failure response for (unknown url): 0 Unknown Error", error: ProgressEvent error}

有什么可能导致这类问题的线索?

1 个答案:

答案 0 :(得分:2)

您需要找到实际问题,它可能跨域问题。在android,本机应用程序不使用浏览器,它直接调用web api和跨域只在浏览器中。

要查找实际问题,请打开开发人员工具并查看控制台。如果您看到跨域或拒绝访问的消息。这是跨域的问题。您必须在服务器中配置cors。如果没有cors问题,请参阅网络活动中的服务器响应。您可以在网络活动中查看实际的服务请求和失败原因。在角度缓存块中,您无法从配置中获得实际问题。

httpsnon https网址的来电请求也可能会出现问题。浏览器未授予从httpsnon https网址调用ajax请求的权限。

要修复问题,您必须通过开发人员控制台工具找到实际问题。