electron框架loadURL方法post请求方式

electron中请求线上地址在最新版中都用了

 

  1. const { BrowserWindow } = require('electron')  
  2. const win = new BrowserWindow({ width: 800, height: 600 })  
  3. win.loadURL('http://github.com').then(() => {  
  4.   const currentURL = win.webContents.getURL()  
  5.   console.log(currentURL)  
  6. })  

这个一般都是get请求,但是如果需要post请求官网也给了示例:

 

  1. contents.loadURL(url[, options])  
  2. url string  
  3. options Object (optional)  
  4. httpReferrer (string | Referrer) (optional) - An HTTP Referrer url.  
  5. userAgent string (optional) - A user agent originating the request.  
  6. extraHeaders string (optional) - Extra headers separated by " ".  
  7. postData (UploadRawData | UploadFile)[] (optional)  
  8. baseURLForDataURL string (optional) - Base url (with trailing path separator) for files to be loaded by   
  9. the data url. This is needed only if the specified url is a data url and needs to load other files.  

主要用到了 postData 属性

相信很多人用这个属性发送post内容到服务端确发现返回 body{} 字节为空等现象? 别着急看下面代码:

 

  1. webview.loadURL(url, {  
  2.   postData: [{  
  3.     type: "rawData",  
  4.     bytes: Buffer.from("foo=bar")  
  5.   }],  
  6.   extraHeaders: "Content-Type: application/x-www-form-urlencoded; charset=UTF-8"  
  7. });  

记住一定要设置: extraHeaders 这就类似ajax发送服务端post请求设置 content-type ,不然就无法发送数据。

你可能感兴趣的