2009-11-03 2 views
2

когда я запрашиваю что-то через ajax, если вход является поиском, содержимое, похоже, кэшируется? добавить случайное число в конце моего запроса?jquery ajax request cached

/поиск? Вход = тест

к

/поиск? Вход = тест & случайным = 283928392

я думаю, что это позволит решить мою проблему. правильно? как я пишу это в JavaScript

ответ

9

В начале вашего скрипта (до любой AJAX) поставил:

$.ajaxSetup({ 
    cache: false 
}); 

Это позволит решить вашу проблему, поскольку она будет автоматически добавлять случайное число для каждого запроса JQuery. Если вы не используете jQuery для своего AJAX, это не сработает.

+1

Это очень мило, я не знал об этой конфигурации! –

+0

Это действительно полезно в больших проектах. Любой из параметров на http://docs.jquery.com/Ajax/jQuery.ajax можно установить с этим, что действительно может сэкономить время. –

+0

+1 хороший звонок, хороший и опрятный – eric

0

Хотя это [править: Решение Ramblingwood в] решает вашу непосредственную проблему, ответ на ваш вопрос о том, как получить номер есть использовать в JavaScript Math.random();

Mozilla Reference (JavaScript 1.5)

MSDN Reference (JScript 8.0)

Должно быть идентичны, но включают как для полноты

+0

ok. справедливо. –

+0

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

0

Другая опция

а) если вы ненавидите математику

Math.random().toString().split('.')[1] 
    i.e. for random number 0.3338502143216556, you will get 3338502143216556 

б) если вы хотите сделать математику

parseInt(Math.random() * 100000) 
    i.e. for random number 0.3338502143216556 you will get 33385 

Oky моей точки здесь, чтобы послать случайное целое значение не плавающее значения, надеется, вы не» t mind :)