簡體   English   中英

無法在客戶端編輯json文件

[英]unable to edit the json file at client side

我想使用JavaScript編輯json文件。 該文件為“ client.json”,位於本地系統,僅在本地系統上被修改。 我正在使用用於創建新客戶端詳細信息的表單,我希望將這些詳細信息作為對象附加到json文件中。

 {"clients":[
        {
            "name":"xxxx",
            "team":"yyy",
            "location": {
                "city":"beijing",
                "country":"china"
                        },
        "wdays":{"start":"Monday","end":"friday"},
        "whours":{"start":"9 A.M","end":"6 P.M" }
        },
        {
            "name":"xxxx",
            "team":"yyy",
            "location": {
                "city":"new york",
                "country":"usa"
                       },
        "wdays":{"start":"Monday","end":"friday"},
        "whours":{"start":"9 A.M","end":"6 P.M" }
        }
]}

以下javascript代碼是關於從表單讀取數據並將該數據附加為json對象.........`

</script>
<script type="text/javascript">
    function addtojson()
    {
       var client_name=(document.getElementById("cname")).value;
       var country=document.getElementById("country").value;
       var city=document.getElementById("city").value;
       var wtimeto=document.getElementById("wtimeto").value;
       var wtimefrom=document.getElementById("wtimefrom").value;
       var wdayto=document.getElementById("wdayto").value;
       var wdayfrom=document.getElementById("wdayfrom").value;
    jQuery.getJSON('client.json')
  .done(function(data) {
  var cobj=new Object();
  cobj.name=client_name;
  cobj.team="YYY";
  cobj.location=new Object();
  cobj.location.city=city;
  cobj.location.country=country;
  cobj.wdays=new Object();
  cobj.wdays.start=wdayto;
  cobj.wdays.end=wdayfrom;
  cobj.whours=new Object();
  cobj.whours.start=wtimeto;
  cobj.whours.end=wtimefrom;
  var myString = JSON.stringify(cobj);
  alert('I am working');
  alert(myString);
   data.clients.push(cobj);
      alert(JSON.stringify(data.clients[0]));//it gives previous first array object
      alert(JSON.stringify(data.clients[1]));//it gives previous second array object
      alert(JSON.stringify(data.clients[2]));//it gives the new appended array object
      });


return true;
} 
</script>`

雖然數據正在程序中本地修改,但json文件沒有更新?

通常不允許瀏覽器中的JavaScript寫入本地磁盤。 無論如何,在加載JSON文件之后,您都將在內存中編輯加載的文檔,這對磁盤上的文件沒有任何影響,除非您將更改寫入磁盤。 在這里您將遇到不允許從腳本寫入磁盤的問題。

使用動態生成的數據,您也許可以使事情變得順利:URI觸發下載提示,以下載文件的新版本並將其保存到磁盤。 有關更多信息,請參見http://en.wikipedia.org/wiki/Data_URI_scheme

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM