停止缓存jQuery ajax加载响应并避免以前的变量

时间:2015-04-17 15:30:53

标签: javascript php jquery ajax cache-control

我无法在ajax调用期间停止先前的变量加载。

请找到onclick我传递变量并将值发送到PHP脚本的ajax调用。

我有数据:

rnc.csv

DLRNC01
DLRNC02
DLRNC03
DLRNC04
DLRNC05
DLRNC06
DLRNC07
DLRNC08
DLRNC09
DLRNC10
DLRNC11
DLRNC12
DLRNC13
DLRNC14

<?php

         if (($handle = fopen("rnc.csv", "r")) !== FALSE) {

            $i=0;

        $values=array();

        while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {

                        ?>

                        <a href="javascript:void(0)"  onclick="pop(<?php echo "'".$data[0]."'"; ?>)" > <?php echo $data[0]; ?></a></br>
                <?php               
                }

            fclose($handle);

        }else{

            echo "File not found";
        }
?>

<div id="container1"></div>

<script>

        function pop(rnc)
        {
            $.ajax({
            url: 'ajax1.php',
            type: "POST",
            cache: false,
            //dataType:'json',
            data:{rnc:rnc},
            success: function(data){

                        $("#container1").html(data);

                        setInterval(function(){

                                console.log(rnc);

                                $("#container1").html(data);

                        },5000);
                }
            });
        }

</script>

ajax1.php

<?php echo $_POST['rnc']; ?>

当我将值传递给 ajax1.php 时,在单击两个或更多文件的值之后,ajax调用将回显前面每隔5次调用的值。秒。

当我在浏览器中执行console.log时:

ajax.php:344 DLRNC01
ajax.php:344 DLRNC05
ajax.php:344 DLRNC07
ajax.php:344 DLRNC04
ajax.php:344 DLRNC01
ajax.php:344 DLRNC02
2 ajax.php:344 DLRNC05
ajax.php:344 DLRNC06
ajax.php:344 DLRNC07
ajax.php:344 DLRNC04
ajax.php:344 DLRNC01
ajax.php:344 DLRNC02

点击特定值,在第二次调用前一个值...

请帮帮我解决方案..

1 个答案:

答案 0 :(得分:-1)

您的问题是该值一次又一次加载,对吧?

在我看来你的pop功能是错误的:

function pop(vali)
{
    $("#home").load("rnc_value.php",{rnc:vali},function(){});
setInterval(function(){
$("#home").load('rnc_value.php',{rnc:vali},function(){});
}, 5000);
}

为什么你会有一个ajax load(),然后setInterval每隔5秒再次加载它?

不应该吗?     功能pop(vali)     {         $(&#34;#家&#34)载荷(&#34; rnc_value.php&#34; {RNC:瓦利},函数(){})。     }

虽然我只是简单地返回POST值,但我不明白你想加载什么..


如果这是缓存问题,您可以通过$.ajaxSetup({ cache: false });

禁用缓存

请参阅Prevent browser caching of jQuery AJAX call result