Object.keys()不支持
时间: 2024-06-19 09:03:10 浏览: 122
Object.keys()是JavaScript中一个常用的方法,它用于返回一个给定对象自身可枚举属性的键名数组。在JavaScript中,Object.keys()不支持IE8及以下版本的浏览器。如果你需要兼容IE8及以下版本的浏览器,你可以使用其他方法来获取对象的键名数组,例如for...in循环等。另外,需要注意的是,在使用Object.keys()方法时,传入的参数必须是一个对象,如果传入的是null或undefined等非对象类型的值,会导致程序抛出异常。
相关问题
bod为空 我传值方式为 xhr.open(method, url) xhr.setRequestHeader('Content-type','application/x-www-form-urlencoded') Object.keys(headers).forEach(headerkey => xhr.setRequestHeader(headerkey,headers[headerkey])) xhr.send(paramsString)
根据你提供的信息,bod为空的原因可能是你在发送请求时没有将请求体传递给服务器。xhr.send()方法只能发送GET请求,不支持POST请求,因此需要将参数作为请求体传递。可以按照以下方式修改代码:
1.使用POST方法发送请求
```javascript
xhr.open('POST', url);
xhr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
Object.keys(headers).forEach(headerkey => xhr.setRequestHeader(headerkey, headers[headerkey]));
xhr.send(paramsString);
```
2.将参数作为请求体传递
```javascript
xhr.open('POST', url);
xhr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
Object.keys(headers).forEach(headerkey => xhr.setRequestHeader(headerkey, headers[headerkey]));
xhr.send(JSON.stringify({bod: paramsString}));
```
这样,服务器就能正确地解析请求体中的参数了。
class AudioReader(object): ''' Class that reads Wav format files Input as a different scp file address Output a matrix of wav files in all scp files. ''' def __init__(self, scp_path, sample_rate=8000): super(AudioReader, self).__init__() self.sample_rate = sample_rate self.index_dict = handle_scp(scp_path) self.keys = list(self.index_dict.keys()) def _load(self, key): src, sr = read_wav(self.index_dict[key], return_rate=True) if self.sample_rate is not None and sr != self.sample_rate: raise RuntimeError('SampleRate mismatch: {:d} vs {:d}'.format( sr, self.sample_rate)) return src def __len__(self): return len(self.keys) def __iter__(self): for key in self.keys: yield key, self._load(key) def __getitem__(self, index): if type(index) not in [int, str]: raise IndexError('Unsupported index type: {}'.format(type(index))) if type(index) == int: num_uttrs = len(self.keys) if num_uttrs < index and index < 0: raise KeyError('Interger index out of range, {:d} vs {:d}'.format( index, num_uttrs)) index = self.keys[index] if index not in self.index_dict: raise KeyError("Missing utterance {}!".format(index)) return self._load(index)
这段代码定义了一个 AudioReader 类,用于读取多个 wav 格式的音频文件。构造函数的参数为一个 scp 文件的路径和采样率,默认为 8000。类中定义了 `_load` 函数来读取每个 wav 文件,并进行采样率匹配。另外,类还实现了 `__len__`、`__iter__` 和 `__getitem__` 等函数,以支持对音频文件的遍历和索引访问。
阅读全文