jQuery load() 没有从文件中获取更新结果 (?!)

jQuery load() doesn't get updated result from file (?!)

我先寻找了答案,但我对此一无所知,所以这里是...

HTML 文件:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="new-task">
    <input id="task-field" type="text" name="task">
    <button type="submit">change value</button>
</form>
<div id="output"></div>

JS文件:

$(document).ready(function(){

    $("#new-task").submit(function(event){

        event.preventDefault();

        var inputValue = $("#task-field").val();


        $.ajax({

            url: "ajaxRequest.php",
            data: "task="+inputValue


        });

    });

    $("#output").load("ajaxRequest.php");

});

PHP 文件:

if(isset($_GET['task'])) echo $_GET['task'];
else echo "get not set";

所以我只想在每次通过表单编写和提交内容时从 "output" div 中的 php 输出 $_GET 值。相反,它会在第一次加载页面时输出 "get not set" 并且即使我提交了一个值也会保持这种状态。浏览器的网络选项卡显示正在发送请求并创建了一个 'task' get 变量(创建了一个屏幕截图 - https://gyazo.com/2c45024df4338b0481da4494ba89e49e ),但仍然没有输出。我错过了什么?我一定是理解错了...

代码看起来好像只在页面准备就绪时加载一次,因为它在提交函数之外。另一个 ajax 调用命中提交,但看起来代码除了初始页面加载时间之外再也不会重新加载数据。

尝试添加 .done() 回调来加载数据,如

$.ajax({
    url: "ajaxRequest.php",
    data: "task="+inputValue
}).done(function(returnData){
     $("#output").html(returnData);
});

未经测试,因此您可能需要进行调整。