[英]SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data?
[英]SyntaxError: JSON.parse: unexpected character at line 3 column 1 of the JSON data
因此,我试图通过对Web服务的Jquery Ajax调用返回DataTable,但始终收到错误消息,指出返回的JSON格式不正确。 当我将字符串传递给验证器时,它说没问题,有人知道我在哪里出错吗? 我的代码如下:
var params = new Object();
params.centreId = 0;
params.brcWeek = 0;
params.brcMonth = 0;
params.brcYear = 0;
params.weekOffSet = 0;
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "/Webservice/LloydsService/getLloydsOverview",
data: JSON.stringify(params),
dataType: "json",
success: function (data) {
console.debug("data received Ok?");
console.log(data);
},
error: function (jqXHR, textStatus, errorThrown) {
alert(textStatus + " -- " + "---" + errorThrown);
}
});
网络服务:
<WebMethod()> _
<ScriptMethod(ResponseFormat:=ResponseFormat.Json)> _
Public Function getLloydsOverview(ByVal centreId As Integer, ByVal brcWeek As Integer, ByVal brcMonth As Integer, ByVal brcYear As Integer, ByVal weekOffSet As Integer) As String
Dim dt As New DataTable()
Dim serializer As JavaScriptSerializer = New JavaScriptSerializer()
Using conn As SqlClient.SqlConnection = GetDBConnection()
Using cmd As SqlClient.SqlCommand = conn.CreateCommand
cmd.CommandType = CommandType.StoredProcedure
cmd.CommandText = "sp_LloydsDashboard_Overview"
cmd.Parameters.AddWithValue("@CentreId", centreId)
cmd.Parameters.AddWithValue("@BRCWeek", brcWeek)
cmd.Parameters.AddWithValue("@BRCMonth", brcMonth)
cmd.Parameters.AddWithValue("@BRCYear", brcYear)
cmd.Parameters.AddWithValue("@WeekOffSet", weekOffSet)
Using DA As New SqlDataAdapter(cmd)
conn.Open()
DA.Fill(dt)
Dim rows As New List(Of Dictionary(Of String, Object))()
Dim row As Dictionary(Of String, Object)
For Each dr As DataRow In dt.Rows
row = New Dictionary(Of String, Object)()
For Each col As DataColumn In dt.Columns
row.Add(col.ColumnName, dr(col))
Next
rows.Add(row)
Next
Dim json As String = serializer.Serialize(rows)
Return json
End Using
End Using
End Using
End Function
哪个返回(验证):
[{"WalkedPast":1000,"PeelOff":0.1,"WalkedIn":100}]
但我仍然在JSON数据的第3行第1列收到错误SyntaxError:JSON.parse:意外字符。
有任何想法吗?
不要进行分类(假设params
已经是json)
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "/Webservice/LloydsService/getLloydsOverview",
data: params,
dataType: "json",
success: function (data) {
console.debug("data received Ok?");
console.log(data);
},
error: function (jqXHR, textStatus, errorThrown) {
alert(textStatus + " -- " + "---" + errorThrown);
}
});
在这里摆弄,看看控制台。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.