2016-04-13 29 views
0
setInterval(function(){ 
    $.get('ajax.php', function(data) { 
     $('.result').html(data); 
    }); 
}, 5000); 

このコードが見つかりました。しかし、これは私にとっては十分ではありません。私はこれをこのようにしたいと思います。私はjavascriptを知らない。私はいくつかの間違いをする可能性があります。私はあなたが理解できるようにこれを書いています。Ajaxは関数ごとにx秒ごとにPHPデータを取得します

function getdata(getdatafrom, resultclass){ 
    $.get('getdatafrom', function(data) { 
     $('resultclass').html(data); 
    }); 
} 

私はそれを使用する:

setInterval(getdata('get.php?action=test','.resultclass'), 5000); 

私はこのザ・スクリプトを使用するでしょう。

私はこのようなコードを使用したいので、たくさんのものが得られ、eaislyを開発するために1つのコードで実行したいのです。

+2

どういうところですか? – PeterKA

+0

変更: '$( 'resultclass').html(data);':$(resultclass).html(data); '。 –

+0

'getdata'関数内の' getdatafrom''と '' resultclass''から引用符を削除するだけでいいです。 – Tricky12

答えて

2

あなたのコードは次のようにする必要があります:

function getdata(getdatafrom, resultclass){ 
    $.get(getdatafrom, function(data) { 
     $(resultclass).html(data); 
    }); 
} 

を、それが正常に動作しなければならない変数arroundの単一引用符'を除去することにより。

function getdata(getdatafrom, resultclass){ 
    $.get('getdatafrom', function(data) { 
__________^___________^ 
     $('resultclass').html(data); 
__________^___________^ 
    }); 
} 

あなたは'変数(getdatafromresultclass)は、文字列とみなさ単一引用符を使用しています。

初めて5秒を待ちたくない場合は、あなただけsetInterval()の前に次の行を追加してgetdataを呼び出すことができます。

getdata('get.php?action=test','.resultclass') 

・ホープ、このことができます。

+1

@KevinB、そのような場所でgetDataを呼び出すことはできません。あなたのコメントのすべてのコードが行っているのは、その関数を一度起動することです。関数に値をバインドするか、コールバック関数で値を実行する必要があります。 – Seth

+0

@Seth私は質問にあったものを指摘していましたが、この回答はありません。:) –

+0

答えは修正を提供するように更新されているため、コメントはもはや関係ありませんでした。 –

1

はこのようにそれを使用します。

setInterval(function(){ 
     getdata('get.php?action=test','.resultclass') 
}, 5000); 

function getdata(getdatafrom, resultclass){ 
    $.get(getdatafrom, function(data) { 
     $(resultclass).html(data); 
    }); 
} 
+1

あなたは 'resultclass'パラメータを無視しています。 – Seth

関連する問題