Вызов API при условии if и else

#flutter #dart

Вопрос:

Мой код вызова API:

 Future selectedAgentData() async {
        var userId = widget.uId;
    
        if (widget.month == null || widget.month == '') {
          url = 'http//example.com/getMonthDetails.php?uid='   userId;
          print('if blk $url');
        } else {
          url = 'http//example.com/getAgentMonthFilterLead.php?uid='  
              widget.uuid  
              'amp;month='  
              widget.month;
          print('else blk $url');
        }
        var response = await http.get(url);
        return response.body;
      }
 

Здесь мы вызываем API, когда открываем экран. Он отображает записи текущего месяца (если блок выполнен), и когда я передаю месяц, затем отображаются данные за выбранный месяц (выполните блок else).
Я получил данные за текущий месяц (если данные блока), но не данные другого блока.

Комментарии:

1. Вы должны использовать Uri класс. api.flutter.dev/flutter/dart-core/Uri/Uri.html

Ответ №1:

Как раз print(widget.month); перед if этим посмотри , что widget.month было.

Комментарии:

1. Я получил виджет.месяц еще блок также, и внутри еще я получил URL-адрес, как example.com/API/getMonthDetails.php?uid=38amp;month=June но не отображать ответ

2. @RavindraS.Patil тогда API не возвращает никакого значения, возможно, потому, что он ожидает каких-то других значений, отличных от того, что вы передаете.

3. @iwpz, пожалуйста, избегайте добавления комментариев в качестве ответа !!!

4. @OMiShah Извините, я не знаю этого правила, я не буду.

5. @RavindraS.Patil widget.uuid содержит ли переменная какое-либо значение? попробуйте распечатать этот параметр в блоке else и проверьте консоль.