我正在运行混合的PHP / jQuery AJAX函数,并希望在开始处理数据之前检查格式错误的JSON。使用下面的代码,我得到了解析的JSON的“超出范围”错误。但是,如果我将其移到try
区块之上,那么我不知道该放在try
jQuery.post(ajaxurl, data, function(response) {
try {
var obj = jQuery.parseJSON(response);
}
catch(e) {
// error catch, malformed JSON
}
if(obj.success === true) {
// do something
}
else {
// do something else
}
});
我完全乐于接受更好的处理方法,但我需要对obj
进行许多不同的检查。
答案 0 :(得分:2)
你应该声明 try
之外的变量,但是将其分配到内部。
var obj;
try {
obj = jQuery.parseJSON(response);
}
catch(e) {
// error catch, malformed JSON
}