javascript関数が呼び出されたときにPHPファイルを実行しようとしていて、ページをリロードすると、ページがリロードされますが、PHPファイルは実行されません。ajaxがphpファイルを呼び出す
function changeR()
{
$.ajax({ url: 'win.php?id=1' });
window.location.reload()
}
javascript関数が呼び出されたときにPHPファイルを実行しようとしていて、ページをリロードすると、ページがリロードされますが、PHPファイルは実行されません。ajaxがphpファイルを呼び出す
function changeR()
{
$.ajax({ url: 'win.php?id=1' });
window.location.reload()
}
ajax呼び出しが完了したらリロードを実行しますか?成功イベントを使用することができます。
function changeR()
{
$.ajax({ url: 'win.php?id=1' ,
success: function(data) {
window.location.reload()
}
});
}
代わり[complete][1]
またはdone
、あなたは関係なく、それが成功またはエラーのあるいくつかのコードを実行しないようにしたい場合は、あなたが考えることができる、AJAX呼び出しが成功であれば、成功イベントが実行されることを心に留めておきますあなたは人々がページのリロードなし部分ページ更新を行うために、AJAXを使用して通常window.location.href=window.location.href
代わりのwindow.location.reload()
を試すことができます。 ajaxコールの後でページ全体をリロードしてもよろしいですか?
EDIT:コメントを1として
このAJAX呼び出しを経由してPHPの変数値を渡したい場合は、あなたには、いくつかのhtml要素(元に値を設定し、この
のように行うことができます。 ID txtIDと隠し要素)
//Reading the value of an html element with id `txtId`
var val=$("#txtID").val();
$.ajax({ url: 'win.php' ,
data: { id: val },
success: function(data) {
window.location.reload()
}
});
ここではしているid
という名前のパラメータの要素の値を送信します。火かき棒やバイブレータを使って、どのような価値があるかを知ることができます。
その他のオプションはここにある:http://api.jquery.com/jQuery.ajax/
AJAX呼び出しは、AJAXリクエストが完了する前に、あなたがwindow.location.reload()
を行う意味、非同期です。代わりに、、次にリロードが完了するまで待ってください。まず
function changeR()
{
$.ajax({
url: 'win.php?id=1'
}).done(function() {
window.location.reload()
});
}
が正常に実行を妨げる可能性があり、あなたのwin.php
スクリプトに誤りがないことを確認してください。
第2に、ajax呼び出しが完了した後にのみリロードを実行します。これを達成するより簡単な方法は、asyc
の設定をfalse
に設定することです。このようにして、呼び出しは同期的に実行されます。つまり、実行が完了するのを待ってから続行します。
function changeR()
{
$.ajax({ url: 'win.php?id=1', async: false });
window.location.reload()
}
は、あなたの「チェンジャー」関数にこれを試してみてください。
$.ajax({
type: "GET",
url: "win.php",
data: "id=1",
success: function(msg){
window.location.reload();
}
});
1.8で 'success'が廃止されます。代わりに 'done'を使うべきです。 – kba
何PHPスクリプトが実行されていないことをあなたが言うのですか? PHPスクリプトが実行されないようにするのはエラーではありませんか? –
Iveは正常にphpファイルを別々に実行し、mySQLサーバーを正しく更新します。これを行うと、mySQLサーバーに変更はありません –