На самом деле вопрос в том, зачем вам это не кэшировать. Если он не должен кэшироваться, потому что он все время меняется, сервер должен указать, что не следует кэшировать ресурс. Если он просто иногда изменяется (потому что может измениться один из ресурсов, от которого он зависит), и если клиентский код имеет возможность узнать об этом, он может добавить фиктивный параметр к URL-адресу, который вычисляется по некоторому хэшу или дате последнего изменения из этих ресурсов (это то, что мы делаем в ресурсах сценариев Microsoft Ajax, чтобы они могли кэшироваться вечно, но новые версии могут по-прежнему обслуживаться по мере их появления). Если клиент не может знать об изменениях, сервер должен правильно обрабатывать запросы HEAD и сообщать клиенту, использовать кэшированную версию или нет. Мне кажется, что добавление случайного параметра или указание от клиента никогда не кэшировать - это неправильно, потому что кэшируемость является свойством ресурса сервера, и поэтому следует принимать решение на стороне сервера. Другой вопрос, который нужно задать себе: должен ли этот ресурс действительно обслуживаться через GET или он должен проходить через POST? Это вопрос семантики, но он также имеет последствия для безопасности (существуют атаки, которые работают, только если сервер допускает GET). POST не будет кэшироваться.
$.now()
вместо выполнения (new Date (). GetTime ()) каждый раз.