Классический пост-запрос против ajax-запроса - PullRequest
1 голос
/ 25 января 2010

У меня есть таблица с некоторыми предметами. Я выбираю один, и когда я нажимаю кнопку, я хочу отправить его идентификатор на стороне сервера и на основе этого идентификатора создать файл Excel. Чтобы отправить идентификатор от клиента, я должен использовать классический пост (создать форму, назначить, чтобы идентифицировать скрытое, отправить его и уничтожить его), или я должен использовать $ .post из jquery (или любого другого ajax) Когда использовать каждый?

Ответы [ 2 ]

3 голосов
/ 25 января 2010

Прежде всего, ваше приложение должно работать даже для людей, у которых в браузере не включена поддержка Javascript - это означает, что ваше приложение должно работать без необходимости использования Javascript; Это означает, что вы должны реализовать метод form / hidden field / post.


Затем, когда это сработает, вы можете улучшить взаимодействие с пользователем с помощью Ajax: вместо того, чтобы использовать созданную вами форму, просто отправьте запрос Ajax; цель состоит в том, чтобы не выполнять полную загрузку страницы, а иметь что-то более удобное для пользователя.

Но учтите, что если пользователь отключит Javascript, ваше приложение должно вернуться к первому решению.


Короче говоря:

  • Создайте базовую реализацию HTML, которая просто «работает».
  • Затем улучшите взаимодействие с пользователем с помощью Javascript / Ajax.
0 голосов
/ 25 января 2010

AJAX обычно используется для отправки формы (или выполнения любого другого вида запроса) и выполнения каких-либо действий с возвращаемым значением без перезагрузки страницы (например, обновление элемента на текущей странице).

Если я вас правильно понял, вы хотите вернуть файл для загрузки.

В этом случае отправка формы обычным способом (возможно, с target="_blank", чтобы текущее окно не было потеряно) и возвращением файла (включая правильные заголовки, чтобы появился диалог save as...), тем более прямой путь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...