2011-12-23 13 views
2

'10、58,72,15などのPHP文字列を取得しようとしています。 、4,723 '、split()を使ってコンマを配列に分けます。私はその後、別のdivに配列を配置し、3秒ごとにデータを更新したい。ここに私のコードはありますが、動作しません。PHPのデータを引っ張って文字列のカンマを区切り、ajaxを使ってdivにデータを投稿して3秒ごとに更新する

$(document).ready(function() { 
    var hope = $.get('withdacommas.php'); 
    var mystr = hope.split(','); 
    var refreshId = setInterval(function() 
{ $('#quote p').fadeOut("fast").load(mystr[0]).fadeIn("fast"); }, 3000); 
}); 

は、誰かが私が間違っていた場所を説明し、これを行うには良い方法があるかどうか?私はのロード(配列[0])の部分を台無しにしてしまったと思いますが、どうすればよいか分かりません。

ありがとうございます!

+1

以下の回答(ajax呼び出しの無効な使用)は正しいです。しかし、私はちょうどあなたが変数名として '配列'を使用すべきではないことに注意したい...それは予約されたjavascriptキーワードであり、いくつかのブラウザでいくつかの不快な問題につながる可能性があります:http://www.quackit.com/javascript /javascript_reserved_words.cfm –

+0

@Benありがとうございました。私は '配列'を 'mystr'に変更しました。 – Jeight

答えて

1

あなたの間違いは、この方法は、(取得あなたのjQueryのAJAX

である)の戻り値は、PHPファイルから受信されると、むしろそれが機能を実行し、値を返しません。ここ

$.get({ 
    url: 'someurl', 
    success: function(response) { 
     // handle response data here 
    } 
}); 

さらに詳しい情報: http://api.jquery.com/jQuery.get/

+0

ありがとうございます。私はload()が代わりに動作するだろうと推測していますが、配列がdivに正しく表示されるようにrefreshId変数にその変数を組み込む方法を説明できますか?どういうわけか私はこれをもっと複雑にしたと思います。 – Jeight

+0

@ user1112733 loadは、返されたレスポンス全体と一緒に要素の内容をロードします。返されたレスポンスを解析し、さまざまな要素を異なる要素に入れなければならないので、get()が最善の策になります。データを分割したら、エレメントと配列で構成されるJQueryセレクターを、返されたデータと共に同時に循環させ、各エレメントの内容を対応する配列アイテムまたはそれを達成しようとしているものに置き換えます。 – dqhendricks

1

私はそれを考え出しました。私は思った以上に近づいた!

<script type="text/JavaScript"> 
setInterval(function() { 
$.get('withdacommas.php', function(data) { 
    var data = data.split(","); 
    $('#result').html(data[2]); }, 3000); 
}); 
</script> 

これでした。

関連する問題