2016-09-24 4 views
0

私はphpとjavascriptの初心者です。javascriptからPHPファイルを実行する簡単な方法を探しています。私はいくつかの例(herehere)を見つけましたが、彼らはjQueryを使用していますので、避けたいのです。javascriptでphpファイルを実行するにはjQueryなし

私の意図は、2番目の例とまったく同じようにサーバー上で更新手順を実行することです。

var stillAlive = setInterval(function() { 
    /* XHR back to server 
     Example uses jQuery */ 
    $.get("stillAlive.php"); 
}, 60000); 

私はAJAXアプローチを使用することを考えていましたが、すべての例でリクエストのデータの送受信方法が示されています。ここでは単純なPHPファイルを実行するために何かを送る必要はありません。私はこの単純なプレーンな方法でAJAXを使う方法を知らない。提案

+2

ちょうど、私が何を送信する必要はありません。このようなチュートリアル1 https://www.sitepoint.com/guide-vanilla-ajax-without-jquery/ – tristansokol

+0

_HereのJavaScriptのAjaxバニラ "を探して試してみてください単純なphpファイルを実行することができます._これにもかかわらず、これはAJAXを使用する必要があります。これはjavascriptからスクリプトを実行するための**唯一の方法です。 – hindmost

+1

@hindmost - 正確ではありません。彼はデータを送信または取得したくないので、設定した間隔でリロードする非表示のiFrameを持つことができます。 –

答えて

1
function set(){ 
frame=document.createElement("iframe"); 
frame.src="yourfile.php"; 
frame.style.opacity=0; 
body.appendChild(frame); 
frame.onload=function(){ 
body.removeChild(this); 
window.setTimeout(function(){ 
set(); 
},2000); 
} 
set(); 

これは、IFRAMEがロードされている場合、新しいIFRAMEを作成するための

ありがとうは、IFRAMEは2秒待ってからループを再起動して破壊します。

+0

答えをありがとうございますが、AJAXを使用してPHPファイルを実行する方法を見つけました。上記の私の答えを参照してください。 :-) – lyborko

+0

@lyborko:youre welcome。しかし、あなたが知っているように、ユーザーはアップワイヤーなどを得ることによって評判を得ることができます。それはあなたがそうするならば:) –

1

これは、AJAX(jQueryは不要)を使用するとうまくいきます。このスクリプトは5秒ごとにphpファイルを実行します。

<script> 
    var exec_php = function() { 
     var xhttp = new XMLHttpRequest(); 
     xhttp.open("GET", "myroutine.php", true); 
     xhttp.send(); 
    } 

    setInterval(exec_php, 5000); 
</script> 
+1

ところで、クライアントがサーバーへの接続を失うと、5時間と言うと、 !それは答えを待つことをお勧めし、機能を再起動するためにタイムアウトを使用 –

+0

コメントのためのthanx ... – lyborko

関連する問題