我有一个ViewModel,我传递给我的观点:
public class CreateFormViewModel
{
public string Id { get; set; }
[Required]
public string Name { get; set; }
public string FormPropertiesList { get; set; }
}当我提交表单时,FormPropertiesList将包含一个将被处理的JSON数组。
但是,问题是当我加载页面时,FormPropertiesList是空的。这意味着除非它包含任何数据,否则我将无法解析它。
现在,这是我所犯的错误
未登录的SyntaxError:意想不到的标记!==
这是我的jquery代码:
if (typeof @Model.FormPropertiesList !== 'undefined') {
console.log(JSON.parse(@Model.FormPropertiesList));
}在控制台中,我可以看到@Model.FormPropertiesList是空的。不是null或"“而是空白。
在加载页面之前,我试图将其声明为空服务器端,但同样的问题也发生了。
发布于 2019-03-15 09:37:38
考虑到@Model.FormPropertiesList可以将空字符串输出到前端逻辑,那么在尝试解析字符串之前检查字符串的长度就更有意义了。
不要忘记,在输出值时,需要在客户端添加引号,以便将其正确解释为字符串:
if ('@Model.FormPropertiesList'.length !== 0) {
var obj = JSON.parse('@Model.FormPropertiesList');
console.log(obj);
}请注意,可以通过合并以下值使其更加简洁:
var obj = JSON.parse('@Model.FormPropertiesList' || '{}');
console.log(obj);https://stackoverflow.com/questions/55179429
复制相似问题