Действие формы Angularjs и возвращение ошибок

У меня есть форма, которую я использую, чтобы получить от пользователя файл, который нужно загрузить на сервер. Форма использует «действие» для отправки формы методу PHP (не к контроллеру). Информация формы (например, имя) затем используется для фактического перемещения файла в методах PHP. Если при перемещении файла произошла ошибка, я хочу вернуть ошибку и показать ее пользователю. Мне сложно понять, как отобразить сообщение (я).

The form: 
  <form action = "*/myobject/mymethod/uploadFile" method = "post" enctype = "multipart/form-data">
      <label for = "exampleInputFile">File input</label>
      <input type = "file" id = "file" name = "file">
      <p class = "help-block">Upload a file to link.</p>
          <input type = "text" name = "myId" id = "myId" value = "{{theId}}" style = "display:none;">
          <button type = "submit" name = "submit" value = "Upload File" class = "btn btn-primary"> 
              <span class = "glyphicon glyphicon-upload"></span> Upload File 
          </button>
  </form>


My PHP method
public static uploadFile()
{
    there are calls to various methods that do the actual upload. These methods can return 
    errors if something caused the upload to not work properly. 

    If I want to return an error to display to the user do I:
       return "File did not upload";
    or
       return 'error';

    If no errors and all went well, I would like a message displayed to say it was successful.
}

Что потребуется в форме и / или PHP, чтобы я мог отображать пользователю сообщение об успешном / неудачном завершении? Все, что я нашел, было на проверке формы, и это не то, а проверка ошибки обработки / успеха.

Какой на самом деле код вы пытались выполнить?

Patrick Q 06.12.2018 21:09

Я попробовал первый возврат и получил один на «хорошо»; Хотя казалось, что я пытался выполнить загрузку, я думаю, что получил ошибки от других методов, которые я вызываю для обработки загрузки, потому что файл не был перемещен / скопирован ... но ничего не отображалось ... Я не уверен как обработать 'return "ok" (или' error ') в форме.

user3861284 06.12.2018 21:20

Из того небольшого кода, который вы показываете, неясно, используется ли это стандартная форма отправки или отправляется через ajax. В первом случае вам необходимо выполнить перенаправление на страницу формы и либо передать параметр, указывающий на наличие ошибки, либо установить для этого значение сеанса. В последнем случае вы должны вывести строку JSON, содержащую данные об ошибке, а затем проанализировать ее в обработчике ответа. В любом случае выполнение функции return на самом деле не принесет вам никакой пользы. Все, что он делает, это возвращает значение вызывающей стороне функции. Тем не менее, ваш вопрос слишком общий

Patrick Q 06.12.2018 22:49
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
3
16
0

Другие вопросы по теме