Единственный способ найти (онлайн) импорт ajax - через тег HTML-скрипта <script ... </script>
, но мое веб-приложение построено без HTML-файла.Это странная ситуация, потому что я ее создал (с такими важными вещами, как ссылка на favicon и имя веб-сайта), но, тем не менее, мое приложение настроено, его не волнует index.html.
Этопостроено с использованием Koa, Next, React и Material-UI.Я ни в коем случае не профессионал, но я смоделировал это приложение после того, как предыдущее приложение, созданное с помощью Koa, Next и React, имело работающий index.html, но приложение работает без него, и я до сих пор не могу понять, как это сделать.меня, когда / где мой код должен просить об этом.В лучшем случае мне не нужен index.html, чтобы заставить работать AJAX, но , если кто-то знает, чего мне не хватает, когда дело доходит до работы index.html, я весь слух .
Вот так выглядит мой репозиторий на данный момент:
[-components
[---Component1
[---Component2
[---Component3
[---Component...
[-node_modules
[-pages
[---index.js
[-public
[---favicon.png
[---index.html
[-app.js
[-package.json
Код, о котором идет речь: @ index.js
class Index extends React.Component {
state = {
loading: false,
};
componentDidMount() {
var jqXHR = $.ajax({
type: "POST",
url: "/login",
async: false,
data: { mydata: [Cookies.get('links'), Cookies.get('numSentences')] }
});
Cookies.set('final', jqXHR.responseText);
}
handleClickLoading = () => {
this.setState(state => ({
loading: true,
}));
this.componentDidMount();
};
render() {
const {loading} = this.state;
return (
<div>
<AppBar/>
<Block/>
<Card>
<CardActions>
<Button size="large"
fullWidth={true}
onClick={this.handleClickLoading}>Submit</Button>
</CardActions>
</Card>
<Fade
in={loading}
unmountOnExit
>
<BottomBar/>
</Fade>
</div>
)
}
}
export default Index;
Этот код будет немедленносбой при загрузке страницы с ReferenceError: $ не определено .Это после того, как я немного устранил неполадки и изначально имел AJAX-код в функции handleClickLoading (), например, такой, которая не будет аварийно завершаться, пока не сработает событие onClick кнопки:
...
class Index extends React.Component {
state = {
loading: false,
};
handleClickLoading = () => {
this.setState(state => ({
loading: true,
}));
var jqXHR = $.ajax({
type: "POST",
url: "/login",
async: false,
data: { mydata: [Cookies.get('links'), Cookies.get('numSentences')] }
});
Cookies.set('final', jqXHR.responseText);
};
render() {
...
Для справки, я могувведите "$ .ajax", и Pycharm выполнит автозаполнение и сообщит мне ожидаемые параметры, но он всегда заканчивается подчеркиванием и помечается как "пропущенный оператор импорта".Как мне его импортировать?