1

皆さん、私は非常に単純な問題を抱えていますが、本当に混乱しています... 1時間

PHPページには、コードがあります:

<script>
$( document ).ready(function() {
  $("#date_avant").click(function(){
    $.post( "_corps_medecin_changedate.php", { name: 'test', id: '1' } );
    $("#consultations_jour").load("_corps_medecin_changedate.php");
  });
});
</script>

そして、ページ _corps_medecin_changedate.php の最初に、次のコードがあります。

<?php
var_dump($_POST);
$date_debut = $_POST['name'];
?>

そして、私はメッセージを受け取りました:

array (size=0)
  empty
Notice: Undefined index: name

ファイアバグを確認したところ、投稿リストのパラメータは正しいので、正しく送信されたと思いますが、アクションページで受信できません。

Server info :   Apache/2.2.11 (Win32) PHP/5.4.4

しかもローカル環境で。

誰でも私を助けることができますか?

4

3 に答える 3

1

呼び出しから返されたデータは、$.post呼び出しで自動的に使用できるようにはなりません.load()loadこれらは 2 つの別個の関数であるため、基本的に POST データを PHP スクリプトに送信しないという呼び出しを意味します。

呼び出しの一部として投稿パラメータを渡すことができますload

<script>
    $( document ).ready(function() {
        $("#date_avant").click(function(){
            $("#consultations_jour").load("_corps_medecin_changedate.php", { name: 'test', id: '1' });
        });
    });
</script>
于 2013-10-17T10:55:48.760 に答える
0

次のように、ポスト リクエストの結果をコールバック関数で処理する必要があります。

<script>
$( document ).ready(function() {
   $("#date_avant").click(function(){
    $.post( "_corps_medecin_changedate.php", { name: 'test', id: '1' }, 
         function(result) { $("#consultations_jour").html(result);} );
  });
});
</script>

あなたのコードでは、2 つの異なるリクエストを作成します (1 つ目は .post 関数で、2 つ目は .load です)。

于 2013-10-17T10:54:52.887 に答える
0

これは、投稿されたデータなしで投稿が行われた後、_corps_medecin_changedate.php再度正しい ( )を呼び出しているためです..コールバックを使用していません...load()

 $("#consultations_jour").load("_corps_medecin_changedate.php"); //here

post は非同期なので、post を呼び出した直後に .load() 関数 (post のコールバック内にない) が呼び出され、待機しません。

投稿後に同じphpページを再度ロードする理由はわかりませんが、これは必要ないと思います...しかし、例として...コールバックを使用できます...投稿したデータを確認できます

  $.post( "_corps_medecin_changedate.php", { name: 'test', id: '1' },function(data){
     alert('done');
  });

 //$("#consultations_jour").load("_corps_medecin_changedate.php");

これを試してみると、投稿された値が PHP ページに表示されるはずです。

于 2013-10-17T10:56:14.407 に答える