AJAX ответ дублируется - PullRequest
       1

AJAX ответ дублируется

0 голосов
/ 09 января 2019

Я написал код Ajax, который вызывает функцию в php-файле.

queryURL = "http://<?php echo $_SERVER['SERVER_NAME'] ?>/MyPhpFile.php";
params = fromDate+" , "+to_Date;
$.ajax(
{
    url: queryURL,
    type: "post",
    dataType: 'json',
    async: false,
    data:
        {
            funcName: "MyFunc",
            values: params
        },
    complete: function (result) {
        debugger;
        doSth();

    }
});

И в моем php файле:

if ($_POST) {
if (isset($_POST['funcName'])) {
    if (function_exists($_POST['funcName'])) {
        G::LoadClass('case');
        $fName = $_POST['funcName'];
        if (isset($_POST['values'])) {
            $values = $_POST['values'];
            $arrP = explode(",", $values);
            echo call_user_func_array($fName, $arrP);
        } else {
            echo $fName();
        }
    }
}
}


fucnction MyFunc($fromDate, $toDate){
    echo "1";
}

На вкладке Сеть в разделе отладчика моего браузера я вижу, что php-файл вызывается только один раз. И все же ответ дублируется.
Если моя функция вернет 1, ответ будет 11.

  1. Почему это происходит?
  2. как я могу предотвратить это?

1 Ответ

0 голосов
/ 09 января 2019

Удалить echo из echo call_user_func_array($fName, $arrP);. Просто используйте call_user_func_array($fName, $arrP);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...