无法 post 到本地服务器

Unable to post to a local server

我有一个本地 Angular4 应用程序正在尝试 post 到本地 django 服务器。问题是我在 http.post() 中遇到错误,但我认为这不是由 CORS 的问题引起的(我正在设法消耗此 api 使用android 应用程序,我在 Angular 应用程序中没有看到任何关于 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);
    }
);

这是我遇到的错误(似乎无法读取 url):

{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}

任何可能导致此类问题的线索?

你需要找到实际问题,可能是跨域问题。在android中,本机应用不使用浏览器,它直接调用网络api,跨域仅在浏览器中出现。

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

这也可能与从 httpsnon https url 的调用请求有关。浏览器不允许从 httpsnon https url.

调用 ajax 请求

要解决问题,您必须通过开发人员控制台工具查找实际问题。