这是我的 php 文件,它正在从服务器下载图像和数据文件
<?php
header("Cache-Control: no-cache, must-revalidate");
//header("Expires: Tue, 25 sep 2012 09:00:00 GMT+5.30");
header("Content-Type: application/xml; charset=utf-8");
clearstatcache();
// download xml.....................................................
$url = "http://ippaddress/msn/getdata.php?result=3";
//echo $url;
$filename = "E://wamp/www/msn_mytype01-12-12/test.xml";
$handle = file_get_contents($url);
file_put_contents($filename, $handle);
$doc = new DOMDocument();
$doc->load( 'test.xml' );
$employees = $doc->getElementsByTagName( "detail" );
foreach( $employees as $employee )
{
$id = $employee->getElementsByTagName( "image" );
$imgid = $id->item(0)->nodeValue;
// download Images.........................
$imageUrl = "http://ippaddress/msn/IMAGE/".$imgid;
$filename = "E://wamp/www/msn_mytype01-12-12/Images/".$imgid;
$handle = file_get_contents($imageUrl);
file_put_contents($filename, $handle);
}
echo('XML Downloded-Successfullyy');
?>
我从 j-query 按钮单击事件调用这个 php 文件...如下
$(document).on('click','#syncdata',function(){
window.location.href="downloadfiles.php";
});
现在我想要 tp 调用这个文件进行下载,当它正在下载图像时,我想显示加载图像或进程轮 (.gif) 文件,当它完成下载这个图像时,它会从文件返回到我的 jquery/html 文件被调用;我也用 ajax 试过这个,但我的图像没有显示我不知道为什么?. 这两个文件都在同一个文件夹中,但是当我单击按钮并下载图像时,它不会回调到我的 html/juery 文件并且不显示预加载的 .gif 图像
下面是我如何使用ajax
$(document).on('click','#test',function(){
makeRequest();
});
function makeRequest(){
var sendurl={address:'htp://localhost:8082/BMS_mytype/downloadfiles.php'}
$('#preloader').show();
$.ajax({
type:"POST",
url:"dummycall.php",
data:sendurl,
success:function(xml){
alert(xml);
var result= $(xml).find('status').text();
if(result == "Success")
{
$('#preloader').hide();
window.location.href="option.html";
}
callback.call(null);
},
error: function(){
alert("An error occurred while processing XML file.");
} //error ends..
});
$('#preloader').hide();
});