Ajax调用不执行PHP函数
我已经编写了一个非常基本的PHP分页类,并尝试使用jQueryAjax$.post请求加载内容。我的类有两个函数,一个显示内容,另一个显示分页。如果我不使用jQuery,而只使用PHP,那么一切都很好。一旦我尝试使用jQuery,我的displayContent()函数就永远不会被调用,但是createNav()函数做得很好(我的意思是页码已经加载) 这是我的js。 这是我的PHP:Ajax调用不执行PHP函数,php,jquery,ajax,Php,Jquery,Ajax,我已经编写了一个非常基本的PHP分页类,并尝试使用jQueryAjax$.post请求加载内容。我的类有两个函数,一个显示内容,另一个显示分页。如果我不使用jQuery,而只使用PHP,那么一切都很好。一旦我尝试使用jQuery,我的displayContent()函数就永远不会被调用,但是createNav()函数做得很好(我的意思是页码已经加载) 这是我的js。 这是我的PHP: if($action=='displayArticles') displayArticles();
if($action=='displayArticles') displayArticles();
function displayArticles()
{
$content=new createPages(5,10);
$content->displayContent();
$content->createNav();
}
这是我刚刚创建的PHP类。它太大,无法添加到这里,但我以文本格式保存了代码。
页面加载后,您不能调用PHP函数。PHP是服务器端脚本,因此您需要AJAX加载一个单独的页面,其中将定义
displayArticles
函数。尝试转储$\u POST['action'],然后检查$.POST响应中的输出。很明显,您的if语句解析为false。:)
您还可以尝试转储$action,然后在响应中检查它。祝你好运 你们有全球注册吗?如果不是,您应该使用$\u POST['action']。实际上,无论如何都应该使用$_POST['action'],因为register_globals是一种危险的安全风险。您在console中看到任何错误吗…?console中没有任何错误。正如我所说,只有displayArticles()不能通过jQuery加载。另一个函数输出它应该输出的内容,并通过jQuery加载输出。如果我使用没有jQuery/Ajax的类,那么一切都可以正常工作。我想我不明白你说的$_POST['action']是什么意思。我没有使用全局变量。对于大多数请求,我只是使用单处理器文件。这样,一切都井然有序(至少我喜欢这样认为)。每当我向那个大的处理器文件发送请求时,我都会确保将操作添加为paramso displayArticles()get的调用,确定吗?displayContent()中存在SQL错误(您应该检查,似乎您没有处理错误),或者SQL调用根本不返回任何错误results@AlexFl-$\u POST是您通常必须访问发布到程序中的变量的方式,除非您在register\u globals上有一个PHP设置,这将使$action成为一个全局变量。我认为错误控制台无关紧要。我相信你的问题在PHP方面。您可以通过制作一个没有javascript但包含相同字段的简单表单并尝试向其发布来测试这一点。或者检查服务器错误日志。它可能有一些错误,这有点让人困惑,但我不相信他是这么做的。他有一个javascript中的displayArticles()函数,它向PHP中的displayArticles()函数发出AJAX请求