我正在努力深入了解JavaScript Fetch API。 Mozilla文档在这一点上有点不清楚。
据我所知,我可以通过以下两种方式之一致电fetch()
:
但是,看起来Request对象只是组合了两个参数。我测试了以下内容并得到了相同的结果:
function object2query(object) {
var qs=[];
Object.getOwnPropertyNames(object).forEach(function(i) {
qs.push(i+'='+object[i]);
});
return qs.join('&');
}
var url='https://ajax.internotes.net/date.php';
var query={date: 'today', time: 0, format: 'Y-m-d'};
query=object2query(query);
// Post Method
var initPost={method: 'post', body: query, headers: {
'Content-Type': 'application/x-www-form-urlencoded'
}};
// Two Parameters
fetch(url,initPost)
.then(response => response.text())
.then(function(text) {alert('Two Parameters: '+text)});
// Request Object
var request=new Request(url,initPost);
fetch(request)
.then(response => response.text())
.then(function(text) {alert('Request Object: '+text)});

如果是这种情况,使用请求对象有什么好处?