0

ajaxを使用してphpファイルを実行し、ページをリロードするこの方法があります。

function winA() 
{
var x = "<?php echo $id;?>"
$.ajax({ url: 'w.php5' ,
         data: { id: x },
         success: function(data) {
                   window.location.reload()
                }
 }); 
}

これは私が持っているものであり、欠陥がないか無限に調べ、php変数が正しく読み取られていることを確認し、関数が本当に呼び出されていることを確認しました。w.php5?id=1 を呼び出すと、php ファイルは正常に動作します。

この ajax 呼び出しが機能しないのはなぜですか?

助けてくれてありがとう、アーロン。

4

5 に答える 5

1
function winA() 
{
var x = "<?php echo $id;?>"
$.ajax({ url: 'w.php5' ,
         data: { id: x },
         success: function(data) {
                   window.location.reload()
                }
         error:function (xhr, ajaxOptions, thrownError)
         { 
             alert(xhr.status); 
             alert(thrownError); 
         }
 }); 
}

このようにして、ajaxエラーの場合にアラートが表示されます

また、クロムの場合は、開発者ツールの Ctrl+Shift+I の組み合わせを押し、ネットワーク タブをチェックして、w.php5 が呼び出されているかどうか、および応答を確認します。他のブラウザ用のツールは知りませんが、そのようなものがあるはずです

于 2012-04-19T05:36:16.413 に答える
1

2 つの選択肢があります。

他のデータを投稿したい場合は、これを使用してください

.ajax({
  type: 'POST',
  url:'w.php5',
  data: {id: '<?php echo $id; ?>'},
  success: function(resp){
    console.log(resp);
  },
  dataType:'json'
});

このようにすると、ID は $_POST 配列に格納されます => *$_POST['id']*

投稿したIDでデータを取得したい場合は、これを使用してください

.ajax({
  type: 'GET',
  url:'w.php5?id=<?php echo $id; ?>',
  success: function(resp){
    console.log(resp);
  },
  dataType:'json'
});

このようにすると、ID は $_GET 配列に格納されます => *$_GET['id']*

于 2012-04-19T05:30:40.847 に答える
0

www.myurl.com/w.php?id=5 のような URL にアクセスしようとしていると仮定すると、その URL にはおそらく先頭のスラッシュがありません。

試す

url: '/w.php?id=5',

それでもうまくいかない場合は、Chrome または Firefox 内の開発ツールを使用してリクエストを検査する必要があります。

応答によって出力が公開されるため、w.php で $_GET または $_POST を var_dump することもできます。

于 2012-04-19T05:36:29.087 に答える
0

ここにセミコロンがありません:

var x = "<?php echo $id;?>"

次のようにする必要があります。

var x = "<?php echo $id;?>";
于 2012-04-19T05:10:39.597 に答える
0

//メソッドを設定

POST または GET

type:'GET'; or type:"POST"
于 2012-04-19T05:14:24.057 に答える