FineUI 官方论坛

标题: 关于自动补全不想要缓存问题 [打印本页]

作者: 亦颖    时间: 2013-10-20 04:46
标题: 关于自动补全不想要缓存问题
本帖最后由 亦颖 于 2013-10-20 04:47 编辑

  1. <P>
  2. function onReady() {
  3.             var textbox1ID = '<%= TextBox1.ClientID %>';</P>
  4. <P>            var cache = {};</P>
  5. <P>            $('#' + textbox1ID).autocomplete({
  6.                 minLength: 2,
  7.                 source: function (request, response) {
  8.                     var term = request.term;
  9.                     if (term in cache) {
  10.                         response(cache[term]);
  11.                         return;
  12.                     }</P>
  13. <P>                    $.getJSON("search.ashx", request, function (data, status, xhr) {
  14.                         cache[term] = data;
  15.                         response(data);
  16.                     });
  17.                 }
  18.             });</P>
  19. <P>        }</P>
复制代码
上述为FineUI范例中前台源代码,我希望用户每输入一个值都去调用search.ashx,但代码改造为如下,却没有任何效果(经测试用户在输入框中输入过的值依然被cookies保存,不会每次去调用search.ashx代码,大家可以一起测试一下就知道了),不知道为什么还会有缓存,要如何才能实现每次都调用search.ashx呢?
改造后的代码
  1. function onReady() {
  2. var textbox1ID = '<%= TextBox1.ClientID %>';

  3. $('#' + textbox1ID).autocomplete({
  4. source: 'search.ashx',
  5. minLength: 1
  6. });

  7. }
复制代码


作者: 亦颖    时间: 2013-10-21 04:27
顶一个!希望有人帮助解决一下!
作者: leetle    时间: 2013-10-21 09:16
URL中加个时间节点
作者: 黑冰.cn    时间: 2013-10-21 10:02
$.getJSON("search.ashx?r=" +Math.random() , ............................
作者: 浅水砖家    时间: 2013-10-21 11:46
楼上的方法不错,另外search.ashx返回结果时加上缓存控制的Header(比如Cache-Control:no-cache)是否可行?
作者: oldnew    时间: 2013-10-21 12:33
每次使用不同的参数,就不会缓存了。 (比如前面说的,参数中加时间或随机数)
作者: 亦颖    时间: 2013-10-21 21:30
黑冰.cn 发表于 2013-10-21 10:02
$.getJSON("search.ashx?r=" +Math.random() , ............................

黑冰,方法不错有效。
谢谢,大家都讲到点子上了。




欢迎光临 FineUI 官方论坛 (https://fineui.com/BBS/) Powered by Discuz! X3.4