Axios与请求

Raj*_* ji 5 javascript request node.js axios

我正在向带有一些formdata 的URL发送请求。...我有兴趣捕获响应中的“ command”:“ insert”部分。

当我使用AXIOS在URL上发布帖子时。我没有得到这个“命令”:“插入”部分

axios.post('https://www.localgov.ie/en/views/ajax', {  
  validation_date_from: "10/10/2017",       
  view_name : "bcsm_search_results",
  view_display_id : "notice_search_pane",
  view_path : "bcms/search"
}).then(function(response){    
  console.log( response.data)
  console.log("--------------------------------AXIOS POST")
}) 
Run Code Online (Sandbox Code Playgroud)

但是当我使用request使用相同的表单变量调用相同的URL时。我得到 “命令”:“插入”部分

 var formdata ={
    validation_date_from: "10/10/2017",       
    view_name : "bcsm_search_results",
    view_display_id : "notice_search_pane",
    view_path : "bcms/search"
  } ;

    request.post({
      url: 'https://www.localgov.ie/en/views/ajax',
      form: formdata
  },
  function (err, httpResponse, body) {
      console.log(body);       
    console.log("--------------------------------request POST")
  });
Run Code Online (Sandbox Code Playgroud)

这是我放在RequireBin上的演示。请在mozilla或Cors禁用的Chrome上运行。

glh*_*rmv 6

这似乎是axios处理 POST 请求的问题Content-Type: application/x-www-form-urlencodedaxios的 GitHub 页面中有一个未解决的问题,提供了一些讨论和可能的解决方法

  • 这是@AyonLee 的客观答案吗?为什么 axios 更高效? (13认同)
  • 不,您应该始终使用 axios,它更有效,因为您必须将请求标头字段设置为 `Content-type: application/json`。 (4认同)
  • @ZachSmith Axios 的封装大小比请求小 98%,请参阅此处的 Axios:https://bundlephobia.com/result?p=axios@0.21.0 以及此处的请求:https://bundlephobia.com/result? p=请求@2.88.2。 (3认同)