手机
当前位置:查字典教程网 >编程开发 >AJAX相关 >使用wordpress的$wpdb类读mysql数据库做ajax时出现的问题该如何解决
使用wordpress的$wpdb类读mysql数据库做ajax时出现的问题该如何解决
摘要:无聊做了个www.jiazhuangma.com,技术不过关写不好后台,就想直接读wordpress里的数据。做ajax读后台数据时在网上随...

无聊做了个www.jiazhuangma.com,技术不过关写不好后台,就想直接读wordpress里的数据。做ajax读后台数据时在网上随便搜了一段代码使用wordpress $wpdb类读mysql数据库,就是这么一随便,搜到了别人的去头去尾的code,开始了我的改错之旅。

主要问题有:

1,non-object

2,json中汉字,/被转码

3,chrome可以正常访问php文件,ie显示http 404,ajax时头部显示404,但是响应正文正确,是我想要的json。

先贴上网上搜到的代码:

<?php global $wpdb; $a = $wpdb->get_results(“SELECT ID,post_title FROM wp_posts ″); echo json_encode($a ); ?>

这时会报错,non-object;

网上有人说可以添加require_once(‘wp-blog-header.php');那么恭喜你中奖了,你会发现chrome可以正常访问php文件,ie显示http 404,ajax时头部显示404,但是响应正文正确。

修改为require_once(‘wp-config.php');后正常,

这时得到的json是转码后的需要将echo json_encode($a );

修改为echo str_replace(“/”, “/”, json_encode($a,JSON_UNESCAPED_UNICODE ));结果才正确

最终结果:

<?php require_once(‘wp-config.php'); global $wpdb; $a = $wpdb->get_results(“SELECT wp_posts.ID,wp_posts.post_title,wp_posts.guid FROM wp_posts inner join wp_term_relationships on wp_term_relationships.object_id=wp_posts.ID where wp_term_relationships.term_taxonomy_id=3 ORDER BY wp_term_relationships.object_id DESC LIMIT 5″); echo str_replace(“/”, “/”, json_encode($a,JSON_UNESCAPED_UNICODE )); ?>

以上就是小编给大家介绍的使用wordpress的$wpdb类读mysql数据库做ajax时出现的问题该如何解决,希望对大家有所帮助。

【使用wordpress的$wpdb类读mysql数据库做ajax时出现的问题该如何解决】相关文章:

Ajax请求session失效该如何解决

有关Ajax跨域问题的两种解决方法

asp.net中mvc使用ajax提交参数的匹配问题解决探讨

有关ajax的error与后台的异常问题解决

你的jquery ajax无效和你的jquery引入路径有关

$.ajax传JSON数据到后台出现报错问题解决

使用jquery 的ajax调用总是错误亲测的解决方法

IE下jquery ajax无法获得最新数据的问题解决(IE缓存)

通过数据库和ajax方法写出地图的实例代码

IE9版本以下ajax 跨域问题可行解决方法

精品推荐
分类导航