jqery自动完成插件在jqgrid里面 - post请求只触发一次

时间:2016-02-15 13:22:02

标签: jqgrid

我在JQGrid中使用JQuery Autocomplete(不是JQuery-UI的一部分)输入的遗留项目包含以下代码:

{name : 'city',index : 'city',width : 300, editable: true,
    editoptions: {
        dataInit : function (elem){
            $(elem).autocomplete('json/get_cities', {mustMatch: true, matchContains: true, minChars: 2, max:10});
        }
    } 
},

当我开始在第二个字母上键入ajax调用触发器时,但只有一次。没有连续拨打第3,第4等字母。此外,当我开始删除符号时,如果输入中只剩下一个字符,则会触发另一个ajax调用。

任何想法如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

这个问题在我看来与jqGrid无关。然而问题很明显。对网址json/get_cities的第一个请求将被缓存,并且也将用于下一次调用。

对URL json/get_cities的请求是HTTP GET请求。因此,您可以通过设置HTTP标头

来解决问题
Cache-Control: private, max-age=0

json/get_cities的回复中。有关详细信息,请参阅the tutorial或有关备用缓存标题的讨论here

我不是PHP开发人员,但似乎你可以使用像

这样的东西
<?php
header("Cache-Control: private, max-age=0");
?>