Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在java项目(jsp)中看不到json文件中的更改_Javascript_Java_Json_Jsp_D3.js - Fatal编程技术网

Javascript 在java项目(jsp)中看不到json文件中的更改

Javascript 在java项目(jsp)中看不到json文件中的更改,javascript,java,json,jsp,d3.js,Javascript,Java,Json,Jsp,D3.js,我使用intellij的思想用jsp制作了一个web项目。我从“customer.json”文件中获取数据,当单击按钮时,我在后端更改了这个“customer.json”文件。然后我尝试再次获取数据,但它读取的是旧的json文件。我尝试使用以下代码禁用缓存: response.setHeader("Cache-Control","no-cache"); //HTTP 1.1 response.setHeader("Pragma","no-cache"); //HTTP 1.0 res

我使用intellij的思想用jsp制作了一个web项目。我从“customer.json”文件中获取数据,当单击按钮时,我在后端更改了这个“customer.json”文件。然后我尝试再次获取数据,但它读取的是旧的json文件。我尝试使用以下代码禁用缓存:

  response.setHeader("Cache-Control","no-cache"); //HTTP 1.1
  response.setHeader("Pragma","no-cache"); //HTTP 1.0
  response.setDateHeader ("Expires", 0); //prevents caching at the proxyserver
d3.json("{path}/customer.json", function(error, json) {
   if (error) return console.warn(error);
   data = json;
   visualizeit();
});
我还尝试添加不同名称的新json文件,如“customer_1.jsp”,并从我的jsp中读取它,但这次我遇到了一个错误,即即使在目录中看到它,也没有名为“customer_1.jsp”的文件。问题是什么?我如何解决?谢谢你的帮助

注意:我使用的是d3.js的数据,我用以下代码阅读:

  response.setHeader("Cache-Control","no-cache"); //HTTP 1.1
  response.setHeader("Pragma","no-cache"); //HTTP 1.0
  response.setDateHeader ("Expires", 0); //prevents caching at the proxyserver
d3.json("{path}/customer.json", function(error, json) {
   if (error) return console.warn(error);
   data = json;
   visualizeit();
});
注意:我在这里写的还有coffescript版本的mu点击事件(很容易理解):


在“DataForSelectedCustomer.jsp”中,我调用了写入json文件的Java函数。

这是因为
customer.json
文件是由浏览器下载的,它将始终使用本地副本。如果要刷新文件,必须使用或从后端再次获取该文件

  • 浏览器下载文件以显示网页
  • 在后端更改JSON文件,浏览器无法读取该文件
  • 下载新的JSON文件并在前端再次使用它

  • 对不起,我不明白刷新IDE目录是什么意思。这是一个用户交互项目,任何时候用户点击它,我都应该更改整个目录吗?是的,对不起,我在想其他事情。我更新了我的问题。我想我使用这个加载函数调用了Ajax。但它仍然读取旧的json。很抱歉,我不明白你所说的下载新的Json是什么意思?d3.Json(“customer.Json”)不是已经下载了吗?是的,你会说d3已经下载了,我对d3没有经验,但在我看来,这个库获取Json文档一次,然后使用本地缓存文件。这就是为什么我认为如果您想查看更新,您需要再次获取它->newJsonx=json然后通知newJsonx,但它总是给出相同的结果。我查看了chrome的网络部分。它显示customerç.json未被修改。但是它被修改了。它是否与浏览器相关?如果是,我可以做些什么来修复它?