Javascript ajax请求和PHP函数后刷新页面

Javascript ajax请求和PHP函数后刷新页面,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,你好 尝试在使用ajax和php函数(到db)提交值后刷新页面。尝试通过ajax请求成功方法来实现,但似乎不起作用 javascript function saveQuestionnaire() { /* some code */ $.ajax({ type: "POST", url: "createquestionnaire.php", data: {toDbQuestionnaire: toDbJson}, s

你好

尝试在使用ajax和php函数(到db)提交值后刷新页面。尝试通过ajax请求成功方法来实现,但似乎不起作用

javascript

function saveQuestionnaire() {
    /* some code */

    $.ajax({
        type: "POST",
        url: "createquestionnaire.php",
        data: {toDbQuestionnaire: toDbJson},
        success: function(data){
            window.location.reload();
        }
    });
}
createquestion.php

require("functions.php");

$obj = $_POST['toDbQuestionnaire'];
$obj = json_decode($obj);

if (isset($obj) && isset($obj->name) && $_SESSION['email']) {
    $Question->createQuestionnaireWithNameAndEmail($obj->name, $_SESSION['email'], $obj->quiz);
    header('Content-Type: application/json');
    echo json_encode("{result: true}");
}
之后,下面的函数将正确执行并将值推送到DB。不过,要查看页面上的更改,我需要刷新页面。我如何做到这一点?正如您所看到的,
window.location.reload()
没有很好地工作

----编辑---

显然,这是一种魅力。为什么我会出错呢

error: function(data){
                window.location.reload();
            }
在成功部分使用此选项


在成功部分使用此选项

您能像这样更改CreateQuestionly.php文件吗

    require("functions.php");

    $obj = $_POST['toDbQuestionnaire'];
    $obj = json_decode($obj);

    if (isset($obj) && isset($obj->name) && $_SESSION['email']) {
        $Question->createQuestionnaireWithNameAndEmail($obj->name, $_SESSION['email'], $obj->quiz);
        header('Content-Type: application/json');
        $result = array('result'=>true);
        echo json_encode($result );
    }else{
        $result = array('result'=>false);
        echo json_encode($result );
}

您可以这样更改CreateQuestionquestion.php文件吗

    require("functions.php");

    $obj = $_POST['toDbQuestionnaire'];
    $obj = json_decode($obj);

    if (isset($obj) && isset($obj->name) && $_SESSION['email']) {
        $Question->createQuestionnaireWithNameAndEmail($obj->name, $_SESSION['email'], $obj->quiz);
        header('Content-Type: application/json');
        $result = array('result'=>true);
        echo json_encode($result );
    }else{
        $result = array('result'=>false);
        echo json_encode($result );
}

真对不起大家。错误的原因是CreateQuestion.php中的这一部分:

ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

真对不起大家。错误的原因是CreateQuestion.php中的这一部分:

ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

在成功中使用location.reload而不是window.location.reload

在成功中使用location.reload而不是window.location.reload

为什么在需要刷新页面时使用AJAX。您是否在重定向之前尝试添加
控制台.log('pass')
?查看成功函数是否触发。在控制台中打印错误为什么在需要刷新页面时使用AJAX。是否在重定向之前尝试添加
console.log('pass')
?查看是否触发成功函数。请在控制台中打印错误