Javascript 解析cloudflare worker服务上的原始正文(非节点)
我已经使用cloudflare worker在cloudflare上创建了一个api服务器环境,并且没有运行节点服务器(cloudflare worker几乎是无服务器的事件处理程序服务)。它确实提供了处理任何子域调用的配置,就像api的工作方式一样。我使用了一个名为Javascript 解析cloudflare worker服务上的原始正文(非节点),javascript,http-post,cloudflare-workers,Javascript,Http Post,Cloudflare Workers,我已经使用cloudflare worker在cloudflare上创建了一个api服务器环境,并且没有运行节点服务器(cloudflare worker几乎是无服务器的事件处理程序服务)。它确实提供了处理任何子域调用的配置,就像api的工作方式一样。我使用了一个名为cf worker router的包来实现这一点。 我的云服务如下所示: import { ApiError, ApiRedirect, DomainRouter, FetchRouter } from 'cf-worker-rou
cf worker router
的包来实现这一点。
我的云服务如下所示:
import { ApiError, ApiRedirect, DomainRouter, FetchRouter } from 'cf-worker-router';
const router = new FetchRouter();
// add the cloudflare event listener
addEventListener('fetch', (event) => {
router.onFetch(event);
});
router.route('/users', 'POST', async (event) => {
// automatically converts anything not of Response type to ApiResponse
return await event.request.text();
});
我所做的是创建一个对url的POST请求,并为请求提供一些主体。我能够成功地获取请求文本,但现在我不知道如何解析收到的文本
当将请求用作多部分/表单数据时,收到的正文文本如下:
“------------------------------------0935904507922111419875705\r\n内容处理:表单数据;名称=\“名称\”\r\n\r\nJon Doe\r\n-----------------0935904507922111419875705--\r\n”
我尝试发送application/x-www-form-urlencoded
,我收到了如下回复文本:
“name=Jon%20Doe”
与应用程序/json
请求类似:
“{\n\t\“name\:\“Jon Doe\”\n}”
由于cloudflare未使用nodejs服务器,
主体解析器
无法应用于此处。该服务基本上是一个开放api,因此它需要处理各种请求内容类型。是否有任何方法可以识别并解码这些内容类型中的已标记内容到javascript中的有效对象?要处理表单数据上载,可以使用将返回对象承诺的方法
例如:
addEventListener('fetch',事件=>{
event.respondWith(handleRequest(event.request))
})
异步函数handleRequest(请求){
const formData=wait request.formData();
const name=formData.get('name');
返回新的响应(`Hello${name}`);
}