第二个角$ http请求未到达其目的地

时间:2013-08-11 14:21:17

标签: javascript angularjs angular-services angular-http

我正在建立一个类似于oauth的流程,其中提出实际请求,直到一些初步协商完成为止。

初步协商有效,但当我尝试发出所需资源的请求时,我会收到以下行为:

  • django服务器为协商中的每个步骤记录一个POST请求。
  • angular客户端为协商中的每个步骤记录OPTIONS和POST请求。

到目前为止一切顺利。

接下来,我收到资源的OPTIONS请求。此请求在浏览器中暂停,而$ http的请求函数执行状态为0的error回调。

我收到了一条错误消息,指出:无法加载资源。

这是我传递给$ 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服务器不会为此请求记录任何内容。

任何指针都会受到赞赏。

1 个答案:

答案 0 :(得分:0)

我找到了答案......

在url的开头包含协议(http://)可以解决问题。