簡體   English   中英

從 JSON 對象獲取數據時出錯

[英]Error in getting data from JSON Object

我有一個 JSON 數據作為 info.json。

[


    {"employee": {"name":"A", "salary": "324423"}},

        {"employee": {"name":"B", "salary": "43111"}},

        {"employee": {"name":"C", "salary": "43434"}},

        {"employee": {"name":"D", "salary": "120000"}},



]

和 index.html 作為鏈接 linklinklink

    </body>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script>
var item,$emp=$('#emp') ;$aa=$('a') ;$sal=$('#salary');
    $.ajax({
    url:"info.json",
    success:function(data){
    item=data;
    }
           })

    $aa.click(function(){
      var index=$aa.index(this);
        var
        inf=item[index].employee;
            $sal.text(inf.salary);
        return false;
    })

    </script>    

我只想在 index.html 中 JSON DATA 的點擊按鈕上顯示員工的姓名和薪水:

  1. 全部同時在 1 個鏈接中
  2. 全部由 4 個分別在 4 個鏈接中

但得到錯誤為:

在此處輸入圖片說明 .

我認為這很簡單,但我是 AJAX 的新手。 提前致謝

你的 JSON 在最后一行有一個額外的逗號,刪除它

你的代碼正在獲取 json 數據但沒有解析它,使用這個

$.ajax({
    url: "info.json",
    success: function(data) {
        item = JSON.parse(data);
    }
})

現在你在項目中有你的數據

訪問您的數據:

員工人數是item.length

第一個員工姓名是item[0].employee.name

第一名員工的工資是item[0].employee.salary

第二個員工姓名是item[1].employee.name

第二個員工工資是item[1].employee.salary

等等...

  1. 首先,您需要確保在數據從服務器返回后附加了處理程序
    1. 其次,您需要在最后一個 JSON 員工之后刪除 (,)。

這是 JSON:-

[
{"employee": {"name":"A", "salary": "324423"}},

    {"employee": {"name":"B", "salary": "43111"}},

    {"employee": {"name":"C", "salary": "43434"}},

    {"employee": {"name":"D", "salary": "120000"}}
]

這是代碼:-

 var item, $emp = $('#emp');
 $aa = $('a');
 $sal = $('#salary');
 $.ajax({
url: "info.json",
success: function(data) {
  //item = data;
  //handle click only after the data came back
  handleClick(data);
},
error:function(xhr,status,error){
  console.log(error);
}
 })
 var handleClick = function(item){
$aa.click(function() {
var index = $aa.index(this);
debugger;
if (item) {
  var
    inf = item[index].employee;
  $sal.text(inf.salary);
  $emp.text(inf.name);
}
return false;
  })
}

這是一個完整的演示

暫無
暫無

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

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