Я новичок в axios, и мне нужно спросить, в чем разница между использованием jQuery ajax и axios.
По jquery я часто использую вот так:
d.init = function() {
var urload = 'http://fashionablebloggertemplate.blogspot.com/feeds/posts/default?alt=json-in-script';
$.when(
$.ajax({
type: 'POST',
url: urload,
context: this,
contentType: "application/json",
dataType: 'jsonp',
success: function(data) {
//dataget here
}
});
}
но в axios я использую такой же код, как ниже, появляется ошибка: No 'Access-Control-Allow-Origin' header is present on the requested resource, хотя он хорошо работает с jQuery ajax для разных доменов и локальных.
state = {
dataposts: []
}
componentDidMount() {
axios.get(`http://fashionablebloggertemplate.blogspot.com/feeds/posts/default?alt=json-in-script`)
.then(res => {
const dataposts = res.data;
this.setState({ dataposts });
})
}
Может кто мне объяснит и как заставить работать?
Axios не имеет вспомогательных функций для выполнения запросов JSONP. Если вы хотите использовать JSONP и не хотите использовать jQuery, вам нужно будет сделать запрос вручную или найти другую библиотеку. Axios тебе не поможет.
@ Квентин, спасибо. Это полезно
@ Diljohn5741 спасибо. Это полезно
@ AJC24 - они не отправляют запрос POST с помощью jQuery. Он установлен на dataType: 'jsonp', что заставляет его GET, несмотря на то, что говорит type (contentType также игнорируется).



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вы можете найти подобное обсуждение здесь для ссылки stackoverflow.com/questions/43471288/…