jQuery与json

jQuery与json,jquery,json,Jquery,Json,我有一个MVC应用程序,它使用jQueryAjax(post)进行了大量工作,以检索客户信息并将其加载到网页。 问题是,在InternetExplorer7上,当我单击两次通过ajax($.post或$.getJSON)检索信息的链接时,信息不会刷新;它显示了我点击的第一个客户的信息,而不是第二个,所以信息是错误的。我试图对代码进行调试,第二次单击时,它甚至没有进入从数据库检索数据的操作 我怀疑问题出在浏览器缓存上,但我不知道如何处理它 我附上我的代码,工作正常,除了我前面提到的问题: $.ge

我有一个MVC应用程序,它使用jQueryAjax(post)进行了大量工作,以检索客户信息并将其加载到网页。 问题是,在InternetExplorer7上,当我单击两次通过ajax($.post或$.getJSON)检索信息的链接时,信息不会刷新;它显示了我点击的第一个客户的信息,而不是第二个,所以信息是错误的。我试图对代码进行调试,第二次单击时,它甚至没有进入从数据库检索数据的操作

我怀疑问题出在浏览器缓存上,但我不知道如何处理它

我附上我的代码,工作正常,除了我前面提到的问题:

$.getJSON(pathSite + 'PorServiceQuery/GetJsonInfo', {},
                function(resp) {
                    $('#txtPhone').attr('value', resp.ClpCustomerPhone);
                    $('#txtCelPhone').attr('value', resp.ClpCelPhone);
                    $('#txtEmail').attr('value', resp.ClpEmail);
                });

如果用户在返回初始响应之前单击两次,我就看到了这种行为。你确定这不是正在发生的事情(无论浏览器如何)?您可能希望尝试使用确认请求何时发出,何时返回,何时用户单击


另一个想法是,您可以设置IE缓存设置,以便始终检查页面的新版本。

解决方案是使用
$。post
而不是
$。getJson
,原因是getJson执行http get,这就是我没有看到数据刷新的原因。

是否有JavaScript错误?否,我没有收到任何js错误,这很奇怪!我不明白为什么探险家7会这样。嗨,谢谢你的解决方案。设置IE缓存可以解决我的问题,但还有其他方法吗?因为我无法控制我的客户浏览器设置??再次感谢。您可以确保URL请求是不同的,尽管web服务的设置方式可能无法做到这一点,或者可能需要使用GET而不是POST。我必须在某一点上这样做,基本上我只是在AJAX URL中添加一个随机数(或一个基于计时器的数字)作为伪参数。这保证了URL是不同的,浏览器不应该缓存它。您可能还想检查服务本身,看看是否可以在响应上设置缓存控制设置。