Jquery 检查ajax是否返回了有效的json字符串
我发现了两个类似的答案,但都不够。我使用Jquery 检查ajax是否返回了有效的json字符串,jquery,json,ajax,Jquery,Json,Ajax,我发现了两个类似的答案,但都不够。我使用$.post()调用ajax并导出返回的json字符串 很多事情都可能发生(不正确的json格式、服务器端错误、连接丢失等),我正在尝试测试返回的字符串是否有效 我检查了这个,但它使用的是eval,这是不安全的 这是我现在写的代码: $.post( 'some_url.php', some_params, function(data) { var is_JSON = true; try {
$.post()
调用ajax并导出返回的json字符串
很多事情都可能发生(不正确的json格式、服务器端错误、连接丢失等),我正在尝试测试返回的字符串是否有效
我检查了这个,但它使用的是eval
,这是不安全的
这是我现在写的代码:
$.post(
'some_url.php',
some_params,
function(data) {
var is_JSON = true;
try {
data = $.parseJSON(data);
}
catch(err) {
is_JSON = false;
}
if (is_JSON && (data !== null)) {
console.log('correct json format');
if (data.result === 'OK') {
console.log('result: OK');
}
else if (data.result === 'ERR') {
console.log('result: ERR');
}
}
else {
try {
console.log('incorrect json format');
}
catch(err) {
console.log('error occured');
}
}
}
);
如果返回的字符串是正确的json格式,我如何简单地(并且足够)检查?谢谢。怎么样
怎么样
我认为你做得对。检查这个答案被接受的答案是不正确的,但是这个答案(大多数选票)应该是正确的,是吗?这就是我要做的。这是另一个类似的例子-@Legionar你必须选择最上等的答案。嗯,我认为你的
尝试捕捉动作太过火了。您实际上不需要在console.log()上执行此操作代码>语句。我认为你做得对。检查这个答案被接受的答案是不正确的,但是这个答案(大多数选票)应该是正确的,是吗?这就是我要做的。这是另一个类似的例子-@Legionar你必须选择最上等的答案。嗯,我认为你的尝试捕捉动作太过火了。您实际上不需要在console.log()上执行此操作代码>语句。
$.post(
'some_url.php',
some_params,
function(data) {
try {
console.log(JSON.parse(data));
}
catch(err) {
console.log('error occured');
}
}
);