Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.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
Javascript Ajax请求返回成功,但服务器端方法未运行_Javascript_Php_Ajax - Fatal编程技术网

Javascript Ajax请求返回成功,但服务器端方法未运行

Javascript Ajax请求返回成功,但服务器端方法未运行,javascript,php,ajax,Javascript,Php,Ajax,我正在进行一个ajax调用,试图获得一个类的方法。问题是我没有从类的方法中得到任何结果,但是ajax调用的success方法正在运行,就好像一切正常一样 这是我的ajax请求: ; $("#downloadBtn").click(function (event) { event.preventDefault(); event.stopPropagation(); $.ajax({ url: 'allClients.php', type: '

我正在进行一个ajax调用,试图获得一个类的方法。问题是我没有从类的方法中得到任何结果,但是ajax调用的success方法正在运行,就好像一切正常一样

这是我的ajax请求:

;
$("#downloadBtn").click(function (event) {
    event.preventDefault();
    event.stopPropagation();
    $.ajax({
        url: 'allClients.php',
        type: 'post',
        data: {action: 'downloader'},
        complete: function (result) {
            console.log('success');
        },
        error: function () {
            console.log('Error');
        }
    });
});
我的中间php文件(在有值的$\u POST[action]上调用方法的文件):


很抱歉,如果这是重复的,但我不这么认为,我的url是正确的(文件在根文件夹中,js文件在web/js/downloader.js中),我在控制台中获得了成功,但我没有运行该方法。

ajax调用的完整方法中的'result'变量返回了什么?这可能会提供更多线索,说明它认为一切都按预期工作的地方/原因。您只需检查allClients.php文件中的结果。例如:if(result=='1'){console.log(success);}和其他方法。首先:将读取'action'的函数放在try/catch语句中:。然后,在catch语句中,使用var_dump()或回显错误消息(如果实例或其他方面有问题,它只会通知您)。最后,使用console.log()生成ajax,以便查看。另外,确保将$myHttpHandlerClient作为对象的实例(我看不到任何声明)。Ajax调用调试起来相当棘手,这就是为什么我认为try/catch和console.log()值得尝试的原因,最好的方法是如果您的响应是JSON,这将是在控制台中最容易阅读的方法。您可以很容易地将一些数据放入数组f.ex$结果['success']=true$结果['data']=$使用一些令人惊奇的方法返回一些数据;然后:echo json_encode($result)。谢谢大家,我实际上得到了回应。当我控制台记录变量result时,我从php文件中得到了var_转储。在ajax调用的complete方法中,“result”var返回了什么?这可能会提供更多线索,说明它认为一切都按预期工作的地方/原因。您只需检查allClients.php文件中的结果。例如:if(result=='1'){console.log(success);}和其他方法。首先:将读取'action'的函数放在try/catch语句中:。然后,在catch语句中,使用var_dump()或回显错误消息(如果实例或其他方面有问题,它只会通知您)。最后,使用console.log()生成ajax,以便查看。另外,确保将$myHttpHandlerClient作为对象的实例(我看不到任何声明)。Ajax调用调试起来相当棘手,这就是为什么我认为try/catch和console.log()值得尝试的原因,最好的方法是如果您的响应是JSON,这将是在控制台中最容易阅读的方法。您可以很容易地将一些数据放入数组f.ex$结果['success']=true$结果['data']=$使用一些令人惊奇的方法返回一些数据;然后:echo json_encode($result)。谢谢大家,我实际上得到了回应。当控制台记录变量结果时,我从php文件中获得了var_转储。
<?php

require_once 'common.php';

if(isset($_POST['action'])){
    var_dump('was here');
    $myHttpHandlerClient->downloader();
} else {
    var_dump('here');
    $myHttpHandlerClient->viewAllClients($dataTransferClass);
}
class HttpHandlerClient extends HttpHandlerAbstract
{
private $clientsService;

public function __construct(clientsServiceInterface $clientsService)
{
    $this->clientsService = $clientsService;
}
public function downloader(/*DataTransferClass $dataClass*/)
{
    var_dump('here2');
    exit();
}
}