意外的标记,.asp值显示为未定义
Unexpected token , - asp value showing as undefined
我正在尝试使用数组json将一些数据从vb.net上传到asp.net。
我的代码:
<script type="text/javascript">
$(function() {
var a = $("#hidden").val();
var array = JSON.parse(a);
然而,当我在浏览器上调试它时,"a"answers"array"显示为未定义。尽管在后面的代码中显示了值。。
经过进一步的调查,我发现如果是这样的话,它是有效的:
var a = "[1, 2, 3]";
var array = JSON.parse(a);
注意,它显示为一个字符串,但是当我使用字符串:时
var a = [1, 2, 3];
var array = JSON.parse(a);
它说它的未定义-未捕获的语法错误:意外的令牌,我猜它和JSON有关。
现在回到我的代码和我的错误:代码隐藏(vb)
Dim array As New ArrayList
For Each row In ChartData.Rows
array.Add(row("Day"))
Next row
Dim serializer As New JavaScriptSerializer()
Dim arrayJson As String = serializer.Serialize(array)
hidden.Value = arrayJson
并用asp。
<asp:HiddenField ID="hidden" runat="server" />
var a = $("#hidden").val();
var array = JSON.parse(a);
我的问题是,为什么它显示为未定义!我做错了什么。
感谢
在asp.net上,呈现的id不是你在代码隐藏中使用的id,要想在页面上显示它,你需要使用ClientID
作为:
var a = $("#<%=hidden.ClientID%>").val();
Json.parse
获取一个字符串并返回一个json对象。它需要一个有效的json输入来解析输入,这是一个字符串。您也可以在调用parse
之前使用JSON.stringify
方法,以确保将输入作为字符串传递。
相关文章:
- 敲除jsobservable显示未定义的值
- 使用eval()定义变量显示未定义的错误
- 当使用多个false时,Select2显示未定义
- 函数在控制台中显示“未定义”
- 在文本区域显示未定义的javascript数组
- this.value在<td>标记显示未定义
- Chrome 显示未定义密钥代码
- 节点.js 使用 Multer 上传图像显示未定义
- 语句的 Javascript 一直显示未定义
- 显示未定义值的工具提示
- 为什么它在数组之前显示未定义
- Ajax 结果显示未定义
- 显示“未定义”的 JS 警报
- 样式.在元素正确定义时显示未定义
- 它一直显示未定义的文件名
- jQuery每个函数和数组在for循环中显示未定义
- Hapi在处理程序中显示未定义的变量
- 选择2显示未定义
- Json数组只显示未定义的未定义
- 来自文本框和单选按钮的用户输入在警报中重复,显示未定义