我有以下javascript ...
$.post(url, data, function (json) {
var patt = new RegExp('/^\[{"dID":/');
if (patt.test(json)) {
//output json results formatted
} else {
//error so output json string
$('#diaryTable').replaceWith(json);
}
}, 'json');
基本上我的json应该是一个以
开头的有效json[{“dID”:
或者它将是
[{ ex.Message来自try catch exception ... }]
不幸的是,我在正则表达式中收到错误 JavaScript运行时错误:预期']'
我已经检查了我的RegEx / ^ [{“dID”:/在RegEx101.com上有一些测试数据,我的测试按预期工作。任何人的想法?
答案 0 :(得分:0)
好的,感谢所有试图提供帮助的人......我认为我对这个问题的解释并不太清楚......
我通过检查我是否有一个有效的对象修复了我的问题...一个有效的对象将有一个dID值,所以我用过...
if (typeof json[0].dID != 'undefined') {
// valid object
var out = "";
var i;
var a = "N"
for (i = 0; i < json.length; i++) {
out += '<div class="dOuter' + a + '">';
out += '<div class="dInner">' + json[i].dDate + '</div>';
out += '<div class="dInner">' + json[i].dRef + '</div>';
out += '<div class="dInner">' + json[i].dTeam + '</div>';
out += '<div class="dInner">' + json[i].dCreatedBy + '</div>';
out += '<div class="dType ' + json[i].dType + '">' + json[i].dType + '</div>';
out += '<div class="dServer">' + json[i].dServer + '</div>';
out += '<div class="dComment">' + htmlEncode(json[i].dComment) + '</div></div>';
if (a == "N") {
a = "A";
} else {
a = "N";
}
}
$('#diaryTable').replaceWith(out);
}
else {
//error so output json string
$('#diaryTable').replaceWith(json);
}