Angular& DocRaptor - 如何制作HTTP帖子并将下载URL作为回复

时间:2018-03-21 08:23:43

标签: angular http http-post

我试图将Angular5与DocRaptor一起使用并遇到一些问题。他们的网站上没有关于如何与Angular集成的任何文档,但有一个入门指南' other'。我还调查了这个问题here / using-docraptor-web-service-with-angularjs )没有太多运气。

我的模块

在我的模块中,我添加了以下内容:

import { HttpClientModule } from '@angular/common/http';

我的组件

在我的组件中,我导入了:

import { HttpClient } from '@angular/common/http';

我有一个带字符串并生成PDF的按钮。我对帖子请求知之甚少。以下是我的尝试:

return this.http.post('https://myAPIKEY@docraptor.com/docs', {
  "test": true,
  "name": "testDocument.pdf",
  "document_content": '<div>PDF generation test</div>',
  "type": "pdf",
}).subscribe(
  res => {
    console.log(res);
  },
  err => {
    console.log("Error occured");
  }
);

这会导致两个错误:

  

POST https://docraptor.com/docs 401(未经授权)

  

无法加载https://docraptor.com/docs:否&#39;访问控制 - 允许 - 来源&#39;标头出现在请求的资源上。起源&#39; https://mydomain&#39;因此不允许访问。响应的HTTP状态代码为401。

有关如何正确地将内容发布到DocRaptor并在没有CORS问题的情况下接收下载URL的任何帮助都将受到大力赞赏。

更新

我设法获得以下代码以成功发布到DocRaptor。我只需要使用返回的状态ID发出请求:

return this.http.post('https://docraptor.com/docs?user_credentials=mycreds', forDocRaptor).subscribe(res => {
  console.log(res);
},
  err => {
    console.log("Error occured = ", err);
  }
)

1 个答案:

答案 0 :(得分:0)

根据https://docraptor.com/documentation/node,您应该在正文中发布您的凭据

return this.http.post('https://docraptor.com/docs', 
{
user_credentials: "YOUR_API_KEY_HERE",
doc: {
  "test": true,
  "name": "testDocument.pdf",
  "document_content": '<div>PDF generation test</div>',
  "type": "pdf",
}
}
).subscribe(
  res => {
    console.log(res);
  },
  err => {
    console.log("Error occured");
  }
);