2

ajax で作成されたキャッシュの URL 画像をクリアまたは書き込みなしにしたいのですが。今、画像を表示し、キャッシュに保存したくない

index.php

<html>
<head>
    <meta charset="utf-8">
    <LINK href="style.css" rel="stylesheet" type="text/css">
    <script  src="jquery.js"></script>
    <script  src="script.js"></script>        
</head>
<body> 

<form id="target" method="get" ENCTYPE="multipart/form-data">
Выберете файл: 
<INPUT NAME="myfile" id="myfile" TYPE="file">
<br/>
Time:
<INPUT NAME="time" id="time" TYPE="text" value="10"><br/>
<INPUT TYPE="button" VALUE="Загрузить" onclick="show_info()">

</form>
<div id="result">

</div>
</body>

js

 function getPath(path) {

        var finalPath = path.substr(12);


        return finalPath; // returns just file name and you can print/put in some input
}
 function parse(){
var url = document.getElementById("myfile").value;
var time = document.getElementById("time").value;
url = getPath(url);
$.ajaxSetup({cache: false});
$.get('xml_parsing.php',{url:url,nextelement:k}, function(data) {
$('#result').html(data);

   });
 }
function show_info(){


setInterval("nextElement()", 5000);

}
 function nextElement(){
   k++;
  parse();
 }

および ajax ファイル

<?php


$doc = new DOMDocument();
$doc->load($_GET['url'] );  
$products = $doc->getElementsByTagName( "offer" );
$id = $_GET['nextelement'];
$offers = $doc->getElementsByTagName( "offers" );
if($id<$products->length){
$price = $products->item($id)->getElementsByTagName( "price" );
$name = $products->item($id)->getElementsByTagName( "name" );
$currency = $products->item($id)->getElementsByTagName( "currencyId" );
$img = $products->item($id)->getElementsByTagName( "picture" );
$price_show = $price->item(0)->nodeValue; 
$name_show = $name->item(0)->nodeValue;
$img_show = $img->item(0)->nodeValue."?anti_cache=" . rand(0,200);
$currency_show = $currency->item(0)->nodeValue;

echo "<div id='name'>".$name_show."</div>";
echo "<div id='image'><img src=".$img_show." ></div>";
echo "<div id='price'>".$price_show." ".$currency_show."</div>";

}

これどうやってするの?私は3つのファイルを持っています。1 つの index.php、2 つ目の js、および ajax ファイル

4

1 に答える 1

0

この行で:

$.get('xml_parsing.php',{url:url,nextelement:k}, function(data) {

次のように変更します。

$.get('xml_parsing.php?anti_cache='+Math.floor(Math.random()*1000),{url:url,nextelement:k}, function(data) {

これにより、要求されたページが簡単にキャッシュされないようになります。

それが役立つことを願っています:-)。

于 2012-09-22T23:21:12.777 に答える