Как запустить несколько вызовов AJAX на одной странице - PullRequest
2 голосов
/ 06 апреля 2011

Если я создаю «ajaxified» пользовательский интерфейс со многими вызовами ajax для создания, переименования, удаления различных вещей на моей странице - каков наилучший способ обработки всех этих «кодовых» страниц ajax?Сначала у меня был отдельный файл .php для каждого вызова (т.е. Candy_Rename.php, Candy_Delete.php).Но я обнаружил, что моя кодовая база перегружена количеством созданных файлов.

Теперь я отправляю параметр «command» с моим запросом, а затем управляю всеми вещами, связанными с Candy, в одном файле «ajax_Candy».PHP».Так, например, мой запрос jQuery будет:

$.get('ajax_Candy.asp', { command: 'insert', candyName: 'Jolly Ranchers' }, function (response) {
    alert(response.candyId);
}

Это хороший способ сделать это?

Редактировать: Все ответы были великолепны и сказалипочти то же самое.Мне пришлось выбрать один, и я подумал, что упоминание о безопасности важно для всех, кто идет по этому пути, - так что вы идете.Я использую оператор switch в качестве одного из упомянутых пользователей.

Ответы [ 3 ]

2 голосов
/ 06 апреля 2011

Предполагая, что вы решаете проблемы безопасности на стороне сервера, я не вижу проблем с вашим методом.Файл PHP должен убедиться, что запрашивающая сторона имеет право на выполнение команды.Вы не хотели бы, чтобы пользователь удалил все ваши записи ...

2 голосов
/ 06 апреля 2011

Конечно, то, что вы делаете сейчас, гораздо лучше. Просто есть один файл, который контролирует все действия. Я обычно использую оператор switch в команде, чтобы все было красиво и чисто.

switch($_GET[command) 
{ 
  case 'insert' : do insert stuff; break;
  case 'delete' : do delete stuff; break;
}
0 голосов
/ 06 апреля 2011

Да, так лучше.В большом количестве файлов нет ничего плохого, однако вы должны стремиться объединить связанные функции - высокая сплоченность.

Но не переусердствуйте и позволяйте одному файлу php обрабатывать больше, чем просто Candy.Если вы начинаете обнаруживать дублирование кода среди ваших php-файлов, начните создавать подклассы.

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