2014-03-06 226 views
0

我创造我的第一次WordPress插件简单地取出并插入数据使用jQuery AJAX Post方法数据库在WordPress自定义插件正确的反应。我的WordPress的版本是3.8.1无法获取的jQuery AJAX POST请求

我试图做一个AJAX Post请求,但我得到了这个错误信息。

Fatal error: Call to a member function get_results() on a non-object in J:\xampp\htdocs\wordpress\wp-content\plugins\auc_data_fetcher\includes\fetch-results.php on line 19 

我看到这个帖子Stackoverlow post和我在页面的顶部,其中AJAX POST请求的帖子的形式,但在第三行隐藏我的网页添加该代码。

include_once($_SERVER['DOCUMENT_ROOT'].'/wordpress/wp-config.php'); 
include_once($_SERVER['DOCUMENT_ROOT'].'/wordpress/wp-includes/wp-db.php'); 

$wpdb = new wpdb(DB_USER, DB_PASSWORD, DB_NAME, DB_HOST); //By adding this line hides all the pages. 

然后我添加了下面的代码行,它的工作,但仍有一些问题。我开始获得相同的双值而不是单个结果。

例如: 响应应该是some fetched data from db。 我得到some fetched data from db some fetched data from db而不是单一的相同结果。

include_once($_SERVER['DOCUMENT_ROOT'].'/wordpress/wp-load.php'); 

如果我不包括上述wp-load文件,我得到正确的反应,但我需要与数据库进行交互,并再次上面除包括文件代码开始给予同样的Fatal error for $wpdb

请帮我解决我的问题。谢谢。

+1

是否有你需要发布到特定的原因一个不属于WordPress的外部页面? WordPress有一个完整的API来处理ajax,并且可以节省您尝试并包含核心并在标准php页面上运行的麻烦。 –

回答

0

我认为你只需要include_once/wp-load.php文件。定义全球WPDB $后

注意,定义$ WPDB后,您不需要再提供密码和相关凭证。

如果你正在编写和Ajax功能,那么你必须在call_back函数写这在您的查询执行要发生的事

原谅我的英语