亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

TypeError:“RequestInitializerDict”上“headers”字段的類型不

TypeError:“RequestInitializerDict”上“headers”字段的類型不

POPMUISE 2023-03-24 17:02:39
我是 JavaScript 的新手,我正在嘗試在 Cloudflare Worker 上使用 JS 為 IFTTT 創建一個 Github API 網關(因為它無法修改標頭)。這是代碼:async function handleRequest(request) {    var url = new URL(request.url)    var apiUrl = 'https://api.github.com' + url.pathname    var basicHeaders = {        'User-Agent': 'cloudflare',        'Accept': 'application/vnd.github.v3+json'    }    const { headers } = request    const contentType = headers.get('content-type')    const contentTypeUsed = !(!contentType)    if (request.method == 'POST' && contentTypeUsed) {        if (contentType.includes('application/json')) {            var body = await request.json()            if ('additionHeaders' in body) {                var additionHeaders = body.additionHeaders                delete body.additionHeaders            }            var apiRequest = {                'headers': JSON.stringify(Object.assign(basicHeaders,additionHeaders)),                'body': JSON.stringify(body),            }        } else {            return new Response('Error: Content-Type must be json', {status: 403})        }        const newRequest = new Request(apiUrl, new Request(request, apiRequest))        try {            var response = await fetch(newRequest)            return response        } catch (e) {            return new Response(JSON.stringify({error: e.message}), {status: 500})        }    } else {        var apiRequest = {            'headers': JSON.stringify(basicHeaders)        }        const newRequest = new Request(apiUrl, new Request(request, apiRequest))        var response = await fetch(newRequest)        return response    }}addEventListener('fetch', async (event) => {    event.respondWith(handleRequest(event.request))})
查看完整描述

1 回答

?
茅侃侃

TA貢獻1842條經驗 獲得超21個贊

修復這個:


let apiRequest = new Object

apiRequest.headers = Object.assign(basicHeaders, additionHeaders)

apiRequest.body = JSON.stringify(body)

意志apiRequest看起來像這樣:


{headers:{},body:"{}"}

這似乎是RequestInitializerDict想要的。


查看完整回答
反對 回復 2023-03-24
  • 1 回答
  • 0 關注
  • 81 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號