使用wordpress的$wpdb類讀mysql數(shù)據(jù)庫做ajax時出現(xiàn)的問題該如何解決
無聊做了個www.jiazhuangma.com,技術(shù)不過關(guān)寫不好后臺,就想直接讀wordpress里的數(shù)據(jù)。做ajax讀后臺數(shù)據(jù)時在網(wǎng)上隨便搜了一段代碼使用wordpress $wpdb類讀mysql數(shù)據(jù)庫,就是這么一隨便,搜到了別人的去頭去尾的code,開始了我的改錯之旅。
主要問題有:
1,non-object
2,json中漢字,/被轉(zhuǎn)碼
3,chrome可以正常訪問php文件,ie顯示http 404,ajax時頭部顯示404,但是響應(yīng)正文正確,是我想要的json。
先貼上網(wǎng)上搜到的代碼:
<?php global $wpdb; $a = $wpdb->get_results(“SELECT ID,post_title FROM wp_posts ″); echo json_encode($a ); ?>
這時會報錯,non-object;
網(wǎng)上有人說可以添加require_once(‘wp-blog-header.php');那么恭喜你中獎了,你會發(fā)現(xiàn)chrome可以正常訪問php文件,ie顯示http 404,ajax時頭部顯示404,但是響應(yīng)正文正確。
修改為require_once(‘wp-config.php');后正常,
這時得到的json是轉(zhuǎn)碼后的需要將echo json_encode($a );
修改為echo str_replace(“\\/”, “/”, json_encode($a,JSON_UNESCAPED_UNICODE ));結(jié)果才正確
最終結(jié)果:
<?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數(shù)據(jù)庫做ajax時出現(xiàn)的問題該如何解決,希望對大家有所幫助。
相關(guān)文章
Ajax初試之讀取數(shù)據(jù)篇實現(xiàn)代碼
上次我們講了ajax開始準備篇,做好了基本的ajax準備工作以后.我們開始牛刀小試一下:ajax初試之讀取數(shù)據(jù)篇.2010-10-10
ajax請求成功后新開窗口window.open()被攔截解決方法
ajax 異步請求成功后需要新開窗口打開 url,使用的是 window.open() 方法,但是很可惜被瀏覽器給攔截了,怎么解決這個問題呢2014-09-09
jquery ajax實現(xiàn)批量刪除具體思路及代碼
回調(diào)函數(shù),在請求完成后需要進行的操作:此處是把選中的checkbox去掉,接下來為大家詳細介紹下,感興趣的朋友可以參考下哈,希望對你有所幫助2013-04-04
jquery訪問servlet并返回數(shù)據(jù)到頁面的方法
這篇文章主要介紹了jquery訪問servlet并返回數(shù)據(jù)到頁面的方法,實例分析了jQuery操作servlet實現(xiàn)Ajax的技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-02-02

