当前位置: 首页 > 知识库问答 >
问题:

如何在IE 11中使用Fetch发布数据URLSearchParams

柯天宇
2023-03-14

当我试图在fetch中使用URLSearchParams发布bodydata时,它在Chrome v72和Edge v40中工作,但在IE11(使用polyfills)上不工作。

在IE11:我得到这个错误:

错误:不支持的BodyInit类型

我在Edge/IE/etc浏览器中使用以下多边形填充:

>

  • whatwg fetch:“3.0.0”(一个窗口。fetch polyfill)
  • url搜索参数polyfill:“5.0.0”(javascriptURLSearchParams的简单polyfill)

    const bodyData=新的URLSearchParams()对象。密钥(configJson)。地图(钥匙)=

    const opts={method:'POST',body:bodyData,headers:{'Content Type':'application/x-www-form-urlencoded;charset=UTF-8'}}

    获取(endPointUrl,opts)

  • 共有1个答案

    雍河
    2023-03-14

    你可以在下面使用

    举例说明你的请求主体

    {..., body : objToBodyObj(obj) ..}
    

    下面是函数

    function objToBodyObj(obj) {
      var str = "";
      for (var key in obj) {
        if (str != "") {
          str += "&";
        }
        str += key + "=" + encodeURIComponent(obj[key]);
      }
      return str;
    }
    
     类似资料:
    • 问题内容: 我正在使用PHP的函数来获取URL的内容,然后通过变量处理标头。 现在的问题是某些URL需要将一些数据发布到URL(例如,登录页面)。 我怎么做? 我意识到使用stream_context我可以做到这一点,但我并不完全清楚。 谢谢。 问题答案: 使用发送HTTP POST请求并不难,实际上:正如您所猜测的,必须使用参数。 在此页面的PHP手册中提供了一个示例:HTTP上下文选项 (引用

    • 你能解释一下如何在改造2中使用hashmap发布数据吗?

    • 我从API23改为22,因为他们说httpclient不可用。当我切换到API22时,我遇到了HttpClient、HttpPost和NameValuePair的问题。我找到了使用HttpURLConnectionHandler的解决方案。但是我不知道如何将它用于下面的方法。 有人好心帮我一把

    • 我开发了一个应用程序。在我的应用程序中,我从相机或画廊拍摄一张图像。我想使用多部分发布图像到服务器,但图像不发布它。我的帖子数据如下

    • 问题内容: 我对extJS和json有点陌生。使用extJS来发布json数据的最轻松的方法是什么?我对任何GUI功能都不是很感兴趣,只是使用框架发送一些示例数据。 问题答案:

    • 问题内容: 我使用Ubuntu并在其上安装了cURL。我想用cURL测试我的Spring REST应用程序。我在Java端编写了POST代码。但是,我想用cURL对其进行测试。我正在尝试发布JSON数据。示例数据如下: 我使用以下命令: 它返回此错误: 错误描述是这样的: 服务器拒绝了此请求,因为请求实体的格式不受请求方法()的请求资源支持。 Tomcat日志:“ POST / ui / weba