无法 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 缓存块中,您无法从配置中获取实际问题。
这也可能与从 https
到 non https
url 的调用请求有关。浏览器不允许从 https
到 non https
url.
调用 ajax 请求
要解决问题,您必须通过开发人员控制台工具查找实际问题。
我有一个本地 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 缓存块中,您无法从配置中获取实际问题。
这也可能与从 https
到 non https
url 的调用请求有关。浏览器不允许从 https
到 non https
url.
要解决问题,您必须通过开发人员控制台工具查找实际问题。