Errore nella richiesta:, [TypeError: 网络请求失败]
在 Eventi.js:Eventi 中的 15:8
- ...来自框架内部的另外 8 个堆栈帧
我用过expo go。
我的js代码是这样的:
// Eventi.js
import React, { useState, useEffect } from 'react';
import { View, Text, Image, StyleSheet } from 'react-native';
const Eventi = () => {
const [eventi, setEventi] = useState([]);
useEffect(() => {
const apiUrl = 'https://tuosito.altervista.org/api-eventi.php';
fetch(apiUrl)
.then(response => response.json())
.then(data => setEventi(data))
.catch(error => console.error('Errore nella richiesta:', error));
}, []);
return (
<View style={styles.container}>
<Text style={styles.eventiText}>Eventi a Torino</Text>
<View style={styles.eventiContainer}>
{eventi.map((evento, index) => (
<View key={index} style={styles.eventoItem}>
<Image source={{ uri: evento.immagine }} style={styles.eventoImage} />
<Text>{evento.nome}</Text>
<Text>{evento.data}</Text>
<Text>{evento.descrizione}</Text>
<Text>{evento.luogo}</Text>
<Text>{evento.prenotazione}</Text>
</View>
))}
</View>
</View>
);
};
const styles = StyleSheet.create({
container: {
padding: 20,
},
eventiText: {
fontSize: 16,
fontWeight: 'bold',
},
eventiContainer: {
flexDirection: 'row',
flexWrap: 'wrap',
justifyContent: 'space-between',
marginTop: 10,
},
eventoItem: {
width: '48%',
marginBottom: 10,
borderColor: 'black',
borderWidth: 1,
borderRadius: 5,
padding: 10,
},
eventoImage: {
width: '100%',
height: 100,
marginBottom: 10,
borderRadius: 5,
},
});
export default Eventi;
我是新来反应的,当我访问该页面时遇到这个问题。你能帮我个忙吗?昨天我就有这种感觉。难道是办公网络有一些限制?我还想知道当我在应用程序上填写表格时,就像我在 www.chesifastasera.com 网站上填写表格时,是否有可能当我按下发送按钮时,它会执行相同的操作并发送相同的数据我的网站会这样做,因此会收集数据,然后发送电子邮件并创建唯一的代码并将数据保存在数据库中。?
第一个问题;
我无法访问您使用的API。
但是 API 可以使用您提供的链接。 https://www.chesifastasera.com/api-eventi.php
第二个问题;
由于安全漏洞,我不建议从您的应用程序连接数据库。
您可以使用 php api 从 React Native 应用程序进行发布。
您应该从应用程序填写表单并向 php 文件发送 POST 请求,然后使用 PHP 将数据插入数据库。您可以用相同的方式解决您的其他问题,例如发送电子邮件。