我一直在网上搜索这个,但似乎没有这样的主题(或者可能我搜索的方向不对)。
目前,我有一个jQuery文件,它将从数据库中检索9篇额外的帖子,并附加到当前帖子列表中。
File: load-more.js
var data = {
action: \'be_ajax_load_more(tv)\', // <-- this is the function in functions.php
nonce: beloadmore.nonce,
page: page,
query: beloadmore.query
};
$.post(beloadmore.url, data, function(res) {
... code function to handle additional posts
}
File: functions.php
function be_ajax_load_more($category) {
check_ajax_referer( \'be-load-more-nonce\', \'nonce\' );
error_log( \'Made it into the be_ajax_load_more function\');
error_log($category); // <-- this value is empty
return morePosts;
}
如果我同时更改数据的两个值,它的效果会非常好。操作=\'be\\u ajax\\u load\\u more\'和函数be\\u ajax\\u load\\u more(),该函数不接收任何参数,但一旦我添加了参数,则。post函数无法识别它。
我是否正确传递了参数?我甚至尝试在我的数据数组中添加一个新的键值:
var data = {
action: \'be_ajax_load_more\',
category: \'tv\',
nonce: beloadmore.nonce,
page: page,
query: beloadmore.query
};
但我不知道如何获得这些数据。我的功能中的类别。php,有人能帮忙吗?
谢谢
SO网友:leesara
您只是以错误的方式传递参数,因此会出现错误。
当您的代码中出现一些错误时,请始终进行基本操作。这将帮助你发现你什么时候做错了。必须将参数传递给jQuery Post()方法。
这是如何做到的:
$.post("result.php",
{
name: $("#name").val(),
age: $("#age").val()
})
此处,名称和年龄是类型文本控件的输入。请参见本节中给出的使用此方法的一些示例
jQuery Post 教程还告诉您可以使用。fail()和。此方法上的done()事件。
因此,在您的情况下,您可以使用。fail()延迟事件,以找出代码中出现的错误。
Note – 您还可以使用Chrome浏览器控制台窗口来查找这些错误。