我正在建立一个类似 oauth 的流程,在该流程中,提出实际请求会被推迟,直到一些初步协商完成。
初步协商有效,但是当我尝试请求所需资源时,我得到以下行为:
- django 服务器为协商中的每个步骤记录一个 POST 请求。
- 角度客户端为协商中的每个步骤记录一个 OPTIONS 和一个 POST 请求。
到目前为止,一切都很好。
接下来,我收到资源的 OPTIONS 请求。这个请求在浏览器中停留在等待状态,而 $http 的请求函数执行error
回调,状态为 0。
我从角度收到一条错误消息:加载资源失败。
这是我传递给 $http 的请求对象:
cache: false
data: null
headers: {
Authorization: OAuth realm="all"oauth_consumer_key="21846675797"oauth_signature_method="PLAINTEXT"oauth_token="89676366323"oauth_timestamp="1376236699"oauth_nonce="dQBGqqTQf"oauth_signature="GET&localhost%3A16080%2Fkauth%2Ftest%2F&oauth_consumer_key%3D%2221846675797%22%26oauth_nonce%3D%22dQBGqqTQf%22%26oauth_signature_method%3D%22PLAINTEXT%22%26oauth_timestamp%3D%221376236699%22%26oauth_token%3D%2289676366323%22"
}
method: "GET"
params: null
url: "localhost:16080/kauth/test/"
我删除了所有标准标题,因为担心它们可能会干扰我的签名:
$http.defaults.headers.common = {};
$http.defaults.headers.get = {};
$http.defaults.headers.post = {};
$http.defaults.useXDomain = true;
django 服务器不记录此请求。
任何指针将不胜感激。