gpt4 book ai didi

javascript - 如何解决错误 TypeError : self. _form.on 不是函数?

转载 作者:行者123 更新时间:2023-11-29 20:51:21 24 4
gpt4 key购买 nike

我正在使用 Node js 请求模块向网站发送发布请求。查看网站请求后,它使用“表单数据”作为有效负载。该页面的内容类型是“application/x-www-form-urlencoded”。我的脚本是在 Electron 应用程序中单击按钮运行的。我的代码示例如下:

let options2 = {
method: "POST",
uri: site_url,//predefined
followAllRedirects: true,
headers: {
'Origin': checkout_host,//predefined
'Content-Type': 'application/x-www-form-urlencoded',
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
'Accept-Language': 'en-US,en;q=0.8',
'Referer': referer//predefined
'User-Agent': UA//predefined
},
formData: {
information that site is requesting
}
request(options2, (err, resp, body) => }
*I end up repeating the code for different information here*
}

运行我的代码时,这是我遇到的错误,它会立即停止:

TypeError: self._form.on is not a function

最佳答案

出现这种情况的原因似乎是在处理错误时,request 模块在 FormData 对象上使用了 .on 方法.然而,这不是浏览器 FormData,而是从另一个依赖项中提取的。

Node 可以很好地识别所有内容,但浏览器却有一些问题。我假设由于您将此用于 Electron 应用程序,所以这可能是问题所在。

查看此内容是否有帮助:https://github.com/request/request/issues/1961#issuecomment-233956542

否则,如果这是在前端,也许使用 fetch() 可以是一个 alertnative。 https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch


另一个 hacky 选项是进入 request 模块(特别是 request.js)并搜索 self._form.on 和注释掉那个 block 。但我完全不推荐这样做,因为这只是一种糟糕的做法,并不能真正解决问题,而且可能会导致意想不到的副作用。

关于javascript - 如何解决错误 TypeError : self. _form.on 不是函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51699606/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com