我有一个脚本,可以在需要时输出 JSON。 PHP 将 header 设置为 JSON,并且 JSON 对对象进行编码..
在 JS 端,$.getJSON
收到了它,一切都很顺利。
问题是当我的 PHP 输出纯文本时(这是我必须处理的情况)。
更大的问题是,尽管我很想编写代码来检查 PHP 端的输出类型,但 getJSON
不会触发回调函数,除非它收到 JSON 类型的输出.
因此,如果我的 PHP 脚本输出错误代码(未编码到 JSON 例程中),JS 将不会使用react..
我需要 JS 根据 PHP 的输出类型以某种方式使用react。
我尝试执行 .get
或 .post
JS 函数,但同样,当我的 PHP 输出 JSON 时,这些回调不会被触发/触发。
最佳答案
你看过 .done() 和 .fail() 吗?
$.ajax({
url: 'blah.php',
data: blah,
type: 'POST',
dataType: 'json'
}).done(function(){
console.log('OK');
}).fail(function(jqXHR, textStatus, errorThrown){
console.log(textStatus+"\n"+ errorThrown);
});
...另外,这里有一些用于验证 JSON 的 JS 代码...
// validate JSON
function is_JSON(str) {
try {
var c = $.parseJSON(str);
} catch (e) {
return false;
}
return true;
}
关于php - Javascript/jQuery 检查 PHP 输出是否为 json - 如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14330673/