为什么我能';在react本机应用程序中不显示我的php文件的数据
在我的react本机应用程序中,我希望显示使用php从sql server获取的数据 问题是我的php文件工作正常(当我在postman或任何浏览器中尝试时),但当我在手机中运行应用程序时,我什么都没有得到,原因是什么为什么我能';在react本机应用程序中不显示我的php文件的数据,php,reactjs,react-native,Php,Reactjs,React Native,在我的react本机应用程序中,我希望显示使用php从sql server获取的数据 问题是我的php文件工作正常(当我在postman或任何浏览器中尝试时),但当我在手机中运行应用程序时,我什么都没有得到,原因是什么 import React, { useEffect, useState } from 'react'; import { ActivityIndicator, FlatList, Text, View } from 'react-native'; export default
import React, { useEffect, useState } from 'react';
import { ActivityIndicator, FlatList, Text, View } from 'react-native';
export default App = () => {
const [isLoading, setLoading] = useState(true);
const [data, setData] = useState([]);
useEffect(() => {
fetch('http://192.168.1.10/ment.php')
.then((response) => response.json())
.then((json) => setData(json.movies))
.catch((error) => console.error(error))
.finally(() => setLoading(false));
}, []);
return (
<View style={{ flex: 1, padding: 24 }}>
{isLoading ? <ActivityIndicator/> : (
<FlatList
data={data}
keyExtractor={({ id }, index) => id}
renderItem={({ item }) => (
<Text>{item.MOIS}</Text>
)}
/>
)}
</View>
);
};
import React,{useffect,useState}来自“React”;
从“react native”导入{ActivityIndicator,FlatList,Text,View};
导出默认应用=()=>{
const[isLoading,setLoading]=useState(true);
const[data,setData]=useState([]);
useffect(()=>{
取('http://192.168.1.10/ment.php')
.then((response)=>response.json())
.then((json)=>setData(json.movies))
.catch((错误)=>console.error(错误))
.最后(()=>setLoading(false));
}, []);
返回(
{正在加载?:(
id}
renderItem={({item})=>(
{item.MOIS}
)}
/>
)}
);
};
这是我的php文件,它显示了我数据库的5个月
<?php
include 'serverName.php';
$connectionInfo=array("Database"=>"Net","UID"=>"s","PWD"=>"123");
$conn=sqlsrv_connect($serverName,$connectionInfo);
$sql = "select TOP 5 MOIS from Dyn_Encaissement " ;
$stmt = sqlsrv_query( $conn, $sql );
while( $row[] = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC) ){
$Item = $row;
$json = json_encode($Item);
}
echo $json;
?>
从您的手机拨打该IP正确吗?也就是说,PHP代码是否实际执行?当我在浏览器(计算机)中尝试ip时,它工作正常,我是否需要检查其他东西?是的,如前所述,从手机检查,而不是从计算机检查。如果电话有问题,那么从那里试一下。如果手机没有连接到与您的计算机相同的wifi网络,那么您将立即遇到问题。如果不是网络,则需要调试react代码并检查控制台错误等。打开此http://192.168.1.10/ment.php
url,查看您的手机是否可以访问此url。192.168.1.10是一个不可路由的地址,因此您无法直接通过internet打开它,仅当您的手机与计算机位于同一局域网上时。如果您试图通过数据连接通过internet访问它,则需要将PHP代码托管在可以从外部访问的地方。