0

OK私はvalidation.phpを作成しました。これは返されます

{"exists":false,"data":"", "id":101}

また

{"exists":true,"data":"www.example.com/thumbnail1.jpg", "id":101}

スクリプトは以下

//no need to continue if there is no value in the POST username
if(!isset($_POST['id']))
 exit;
$var = $_POST['id'];
//initialize our PDO class. You will need to replace your database credentials respectively
$db = new PDO('mysql:host=HOST;dbname=DBNAME','USER','PASS',array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));

//prepare our query.
$query = $db->prepare('SELECT * FROM cont_pic WHERE pic_id = :id');
//let PDO bind the username into the query, and prevent any SQL injection attempts.
$query->bindParam(':id', $var);
//execute the query
$query->execute();
$exists = $query->fetchColumn(6);

//return the json object containing the result of if the username exists or not. The $.post in our jquery will access it.
echo json_encode(array('exists' => !empty($exists), 'data' => $exists, 'id' => $var   ));
// echo $var;
print_r($exists);
?>

これで、JQuery ポーリング スクリプトが半分完成しました。このスクリプトを機能させるには、助けが必要です。基本的に私が欲しいのは、存在する場合はtrueです。画像をjson応答と同じIDに置き換え、img srcを応答のデータに置き換えて、ポーリングを停止する必要があります。false の場合は、ポーリングを続行します。

setInterval(function(){
    $.ajax({ url: "validation.php", success: function(data){

    }, dataType: "json"});
}, 30000);

どうもありがとう!!

4

1 に答える 1

0
var poller = setInterval(function(){
    $.ajax({ url: "validation.php", success: function(data){
        if (data.exists) {
            clearInterval(poller);
            $("#img"+data.id).attr("src", data.data);
        }
    }, dataType: "json"});
}, 30000);
于 2013-05-04T01:00:18.930 に答える