我有一个用jQuery编写的应用程序。我试图让它现代化。作为其中的一部分,我试图将jQuery请求转换为Axios。我的jQuery请求如下所示:
var myUrl = '[someUrl]';
var myData = {
firstName: 'Joe',
lastName: 'Smith'
};
$.ajax({
type: 'POST', url: myUrl, cache: 'false',
contentType:'application/json',
headers: {
'Content-Type': 'application/json',
'key': '12345'
},
data: JSON.stringify(myData),
success: onSearchSuccess,
error: onSearchFailure,
complete: onSearchComplete
});
现在,凭借我的现代代码,我有以下内容:
var myUrl = '[someUrl]';
var myData = {
firstName: 'Joe',
lastName: 'Smith'
};
axios.post(myUrl, myData)
.then(function (response) {
alert('yeah!');
console.log(response);
})
.catch(function (error) {
alert('oops');
console.log(error);
})
;
我不确定如何传入标题或者我需要将myData
字符串化。有人可以指点我正确的方向吗?
答案 0 :(得分:4)
你试过manual吗? :)
这就是你需要的:
axios.post(url [,data [,config]])
将其转换为代码的方式是:
var myUrl = '[someUrl]';
var myData = {
firstName: 'Joe',
lastName: 'Smith'
};
axios.post(myUrl, myData, {
headers: {
'Content-Type': 'application/json',
'key': '12345'
}
// other configuration there
})
.then(function (response) {
alert('yeah!');
console.log(response);
})
.catch(function (error) {
alert('oops');
console.log(error);
})
;
返回的对象实现A+ Promise API。根据您的配置,您可能需要对其进行填充,但npm registry中有许多可用的包。