を私が最初の答えを見てきたが、何も、それは...jQueryの負荷は()ファイルから更新された結果を得ることはありません
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ファイル:
私は何かが書かれ、フォームを通じて提出されるたびに、 "出力" divで$ _GET値をPHPから出力したいだけです。代わりに、最初にページが読み込まれたときに「get not set」を出力し、値を送信してもそのように維持されます。ブラウザのネットワークタブにリクエストが送信され、「タスク」get変数が作成された(スクリーンショット - https://gyazo.com/2c45024df4338b0481da4494ba89e49e)というメッセージが出力されていることが示されます。私は何が欠けていますか?私は何か間違ったことを理解していたに違いない...
ajaxリクエストを完了する前にajaxRequest.phpをロードすることができますか? jsはC#やPHPのようなものではないことを覚えておいてください...そこに座ってAjaxの応答を待つことはありません。これが正しく機能するには、コールバックまたは約束を使用する必要があります。 – JonH
load()がajaxリクエストの後に置かれていると、リクエスト前のPHPロードが完了するのはなぜですか? document.ready()の内部で何が順番に実行されませんか?アクションが発生した場合(submitを押すなど)、再実行されませんか? – Irina
load()関数もajaxリクエストです。 $ .ajax関数はサブミットロジック内にありますが、load()はsubmit関数ブロックの外にあるため、ページがロードされるときに一度だけロードされます。それ以降のすべての送信はajax要求を行いますが、応答は何も行われません。別の例としては、提出するロジックを$( "#output")と置き換えることができます。load( "ajaxRequest.php?task =" + $( "#task-field")。負荷が応答を処理するためです。 – bhietpas