使用PHP5.1.6和jQuery进行json_编码
PHP5.1.6没有json_encode(),所以我想使用在上找到的函数。 我尝试将此函数的输出用于ajax请求:使用PHP5.1.6和jQuery进行json_编码,php,jquery,json,Php,Jquery,Json,PHP5.1.6没有json_encode(),所以我想使用在上找到的函数。 我尝试将此函数的输出用于ajax请求: fetchArticles: function( e ) { $.ajax({ url: 'article.php', type: 'POST', data: { id: $(this).data( 'id_prod' ) }, dataType: 'json', success: fu
fetchArticles: function( e ) {
$.ajax({
url: 'article.php',
type: 'POST',
data: { id: $(this).data( 'id_prod' ) },
dataType: 'json',
success: function( results ) {
console.log('finished');
console.log(results);
}
});
在article.php
中,我现在有:
if ( isset($_POST['id']) ) {
connect();
$articles = get_articles( $_POST['id'] );
echo json_encode( $articles ); return;
}
问题在于将结果返回到JS控制台:
- 如果没有结果,则打印空数组
- 如果有一个结果,则打印正确的对象
- 但当有多个结果时,控制台上不会打印任何内容,即使word
已完成
我可以在HTTP头和响应中看到返回了正确的数据,但它并没有打印到控制台。您能帮我解决这个问题吗?当json文件无法转换时,它会抛出
parserror
异常,因此请尝试以下操作:
$.ajax({
url: 'article.php',
type: 'POST',
data: { id: $(this).data( 'id_prod' ) },
dataType: 'json',
success: function( results ) {
console.log('finished');
console.log(results);
},
error: function(jqXHR, textStatus, errorThrown) {
console.debug(jqXHR, textStatus, errorThrown);
}
});
当JSON无效时,它将输出您的错误。当JSON文件无法转换时,它将抛出
parserror
异常,因此请尝试以下操作:
$.ajax({
url: 'article.php',
type: 'POST',
data: { id: $(this).data( 'id_prod' ) },
dataType: 'json',
success: function( results ) {
console.log('finished');
console.log(results);
},
error: function(jqXHR, textStatus, errorThrown) {
console.debug(jqXHR, textStatus, errorThrown);
}
});
当JSON无效时,它将输出您的错误。您能提供一个您正在发送的JSON示例吗?这是一个HTTP响应,结果不止一个:
[{“id_新闻”:“38”,“img”:“1313153502.jpg”,“no”:“2”,“title”:“Lorem ipsum”},{“id_新闻”:“39”,“img”:“1313153981.jpg”,“no”:“2”,“title”:“ipsum-Lorem”}
oops,我不够精确。在标题中我有字符,
,它会导致语法错误:JSON.parse:错误的转义字符
。我怎样才能避免这种情况?你能提供一个你正在发送的JSON样本吗?这是一个HTTP响应,结果不止一个:[{“id_新闻”:“38”,“img”:“1313153502.jpg”,“no”:“2”,“title”:“Lorem ipsum”},{“id_新闻”:“39”,“img”:“1313153981.jpg”,“no”:“2”,“title”:“ipsum Lorem”}
oops,我不够精确。在标题中我有字符,
,它会导致语法错误:JSON.parse:错误的转义字符
。我怎样才能避免这个?谢谢你的回答。我得到了以下输出:SyntaxError:JSON.parse:bad转义字符
,我检查了它是否是由“
字符引起的。如果我从数据中删除它,一切都会正常工作。我怎样才能避免这种情况呢?你可以在之前使用``来逃避你的'
。替换您的数据,现在我不记得是php函数完成的,但是json_encode是为您的。。。但是祝你好运:)我已将所有引号字符替换为'代码>谢谢!谢谢你的回答。我得到了以下输出:SyntaxError:JSON.parse:bad转义字符
,我检查了它是否是由“
字符引起的。如果我从数据中删除它,一切都会正常工作。我怎样才能避免这种情况呢?你可以在之前使用``来逃避你的'
。替换您的数据,现在我不记得是php函数完成的,但是json_encode是为您的。。。但是祝你好运:)我已将所有引号字符替换为'代码>谢谢!