Ошибка XMLHttpRequest на Dartpad и всех веб-приложениях, но не на мобильных телефонах или симуляторах.Android

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Ошибка XMLHttpRequest на Dartpad и всех веб-приложениях, но не на мобильных телефонах или симуляторах.

Сообщение Anonymous »

Я проводил простой тест с помощью DartPad, и он не сработал. Итак, я попробовал запустить на своем телефоне Android с помощью Visual Studio Code и USB-кабеля, и все сработало нормально. Затем я попробовал использовать симулятор Android через VSC, и он работает. Я попробовал это через VSC в Chrome и Edge, но это не помогло, попробовал в Windows, и это сработало.
Вот код:

Код: Выделить всё

import 'package:flutter/material.dart';
import 'package:flutter/foundation.dart';
import 'package:http/http.dart' as http;
//import 'package:logging/logging.dart';

final filename = [
"https://ListeningToGod.org/SermonEngagement/TextFiles/2024-10-130Ia.json",
"https://ListeningToGod.org/SermonEngagement/TextFiles/2024-10-1301a.json",
"https://ListeningToGod.org/SermonEngagement/TextFiles/2024-10-1302a.json",
"https://ListeningToGod.org/SermonEngagement/TextFiles/2024-10-1303a.json",
"https://ListeningToGod.org/SermonEngagement/TextFiles/2024-10-1304a.json",
"https://ListeningToGod.org/SermonEngagement/TextFiles/2024-10-1305a.json",
"https://ListeningToGod.org/SermonEngagement/TextFiles/2024-10-1306a.json",
"https://ListeningToGod.org/SermonEngagement/TextFiles/2024-10-1307a.json",
"https://ListeningToGod.org/SermonEngagement/TextFiles/2024-10-1308a.json",
"https://ListeningToGod.org/SermonEngagement/TextFiles/2024-10-1309a.json",
];

void myLog(String s) {
if (kDebugMode) {
//    final log = Logger('checkUrl');
//    log.shout(s);
print(s);
}
}
Map ? userHeader = {"Content-type": "text/plain",
"Accept": "application/json","Access-Control-Allow-Origin": "*", 'Access-Control-Allow-Credentials': 'true','Access-Control-Allow-Methods' : 'OPTIONS, GET, POST','Access-Control-Allow-Headers': 'Content-Type, Depth, User-Agent, X-File-Size, X-Requested-With, If-Modified-Since, X-File-Name, Cache-Control'};
Future _checkUrl(String url) async {
try {
http.Response urlResponse = await http.get(Uri.parse(url),
headers: userHeader,
);
myLog("File = $url Status code = ${urlResponse.statusCode}");
return ((urlResponse.statusCode == 200) ? true : false);
} catch (error) {
myLog("Catch Error$error");
}
return false;
}

Future getMaxEngagementIndex() async {
int index = 0;
for (int i = 0; i < filename.length; i++) {
String engagementFileName = filename[i];
try {
bool filePresent = await _checkUrl(engagementFileName);
if (filePresent) {
myLog("Got File $engagementFileName");
index++;
}
} catch (error) {
myLog("Catch = $error");
}
}
return index;
}

Future main() async {
WidgetsFlutterBinding.ensureInitialized();
int numfiles = await getMaxEngagementIndex();
String num = numfiles.toString();
runApp(MyApp(num));
}

class MyApp extends StatelessWidget {
final String numfiles;
const MyApp(this.numfiles, {super.key});
Text seText(String text, double size, Color? color) {
return Text(
text,
textAlign: TextAlign.center,
style: TextStyle(
color: color,
fontSize: size,
fontWeight: FontWeight.bold,
),
);
}

@override
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: true,
home: Scaffold(
body: Center(
child: seText('Num Files =$numfiles', 30, Colors.black),
),
),
);
}
}
Основываясь на сообщениях об ошибках от Dartpad и различных вопросах на StackOverflow, я пробовал различные заголовки, и ни один из них, похоже, не избавил меня от ошибки.
Вот исключение, которое я получаю в Dartpad :
Catch ErrorClientException: ошибка XMLHttpRequest., uri=https://listeningtogod.org/SermonEngage ... s/XXX.json
Где XXX — имя каждого файла json.
Пакет http во flutter говорит, что он должен работать в Интернете, но у меня не получается.
Любая помощь по этому поводу?


Подробнее здесь: https://stackoverflow.com/questions/790 ... nes-or-sim
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»