Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/253.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ajax调用不执行PHP函数_Php_Jquery_Ajax - Fatal编程技术网

Ajax调用不执行PHP函数

Ajax调用不执行PHP函数,php,jquery,ajax,Php,Jquery,Ajax,我已经编写了一个非常基本的PHP分页类,并尝试使用jQueryAjax$.post请求加载内容。我的类有两个函数,一个显示内容,另一个显示分页。如果我不使用jQuery,而只使用PHP,那么一切都很好。一旦我尝试使用jQuery,我的displayContent()函数就永远不会被调用,但是createNav()函数做得很好(我的意思是页码已经加载) 这是我的js。 这是我的PHP: if($action=='displayArticles') displayArticles();

我已经编写了一个非常基本的PHP分页类,并尝试使用jQueryAjax$.post请求加载内容。我的类有两个函数,一个显示内容,另一个显示分页。如果我不使用jQuery,而只使用PHP,那么一切都很好。一旦我尝试使用jQuery,我的displayContent()函数就永远不会被调用,但是createNav()函数做得很好(我的意思是页码已经加载)

这是我的js。

这是我的PHP:

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请求