簡體   English   中英

Uncaught SyntaxError:意外的令牌o-JSON.Parse

[英]Uncaught SyntaxError: Unexpected token o - JSON.Parse

我知道這個問題在這里已經提出過很多次了,但是我無法弄清楚代碼的錯誤。 我收到此錯誤“未捕獲的SyntaxError:意外令牌o”

這是我的ajax代碼:

$.ajax({
    type: "POST",
    url: "json-http-server.aspx/GetDoctors",
    data: '',
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: myFunction,
    failure: function (response) {
    alert("AJAX error");
}
});

這是我的函數,它將解析返回的數據:

function myFunction(response) {
    var arr = JSON && JSON.parse(response) || $.parseJSON(response);
    var out = "";
    out += "<table border='1'>";
    out += "<tr><th>Title</th>";
    out += "<th>Name</th>";
    out += "<th>Gender</th>";
    out += "<th>Address</th>";
    out += "<th>Hospital</th></tr>";
    for (var i = 0; i < arr.length; i++) {
        out += "<tr>";
        out += "<td>";
        out += arr[i].Title;
        out += "</td>";
        out += "<td>";
        out += arr[i].Name;
        out += "</td>";
        out += "<td>";
        out += arr[i].Gender;
        out += "</td>";
        out += "<td>";
        out += arr[i].Address;
        out += "</td>";
        out += "<td>";
        out += arr[i].Hospital;
        out += "</td>";
        out += "</tr>";
    }
    out += "</table>";
    document.getElementById("OutputDiv").innerHTML = out;
}

這是我從Web服務返回的JSON數據:

'[{
    "Title":"Univ. Prof. Dr.",
    "Name":"John",
    "Gender":"Doe", 
    "Address":"Washington DC, USA",
    "Hospital":"Washington General Hospital"
  }
  {
    "Title":"Univ. Prof. Dr.",
    "Name":"Billy",
    "Gender":"Joe",
    "Address":"California, USA",
    "Hospital":"AKH Univ-Kl.f.Innere Med. II"
  }
  {
    "Title":"Univ. Prof. Dr.",
    "Name":"Alex",
    "Gender":"Haize",
    "Address":"Michigan, 2500, USA",
    "Hospital":"Rheuma-SKA Baden der SVA der gew. Wirtschaft"
}]'
  var arr = JSON && JSON.parse(response) || $.parseJSON(response); 

在填充response之前,已經解析了JSON。

(jQuery將在兩種情況下執行此操作:如果您指定dataType: 'json' (您可以這樣做),或者如果您未指定dataType並且服務器說響應為JSON(應該這樣做))。

你是(隱含的)將其轉換為字符串( "[object Object]" ),並試圖解析為JSON(它不是)。

刪除該行。

您的JSON數據無效, }{之間缺少逗號( , )。

固定:

'[{
    "Title":"Univ. Prof. Dr.",
    "Name":"John",
    "Gender":"Doe", 
    "Address":"Washington DC, USA",
    "Hospital":"Washington General Hospital"
  },
  {
    "Title":"Univ. Prof. Dr.",
    "Name":"Billy",
    "Gender":"Joe",
    "Address":"California, USA",
    "Hospital":"AKH Univ-Kl.f.Innere Med. II"
  },
  {
    "Title":"Univ. Prof. Dr.",
    "Name":"Alex",
    "Gender":"Haize",
    "Address":"Michigan, 2500, USA",
    "Hospital":"Rheuma-SKA Baden der SVA der gew. Wirtschaft"
}]'

暫無
暫無

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

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