我该怎么做呢:
$(document).ready(function() {
$('a').click(function() {
jQuery.ajax({
url: 'test.php',
async: false,
success: function(data) {
/* here */
}
});
});
})
test.php的:
<?php
header("Content-Type: application/csv");
header("Content-Disposition: attachment; filename=file.csv");
echo "field1,field2,field3";
?>
我需要使用jquery ajax结果模拟下载...这可能吗?
答案 0 :(得分:0)
为什么你想用ajax做? 您可以使用直接链接,例如:
<a href="getmyfile.php?id=1">Load .csv file</a>
将所需文件的内容直接写入输出(带有正确的标题)。
或者你想在加载后对这个文件的内容做些什么吗? 在这种情况下,请尝试:
$(document).ready(function() {
$('a').click(function() {
jQuery.ajax({
url: 'somefile.csv',
async: true,
success: function(data) {
/* here */
}
});
});})
如果你需要从带有ajax的服务器获取一些javascript-object,你可以使用JSON:
{
someField: <?php echo $myfield?>,
someArray: [<?php echo $someNumericValue?>, '<?php someStringValue?>']
}
UPD:
<html>
<head>
<title>Basic JavaScript/AJAX Example</title>
<script type="text/javascript" src="jquery-1.4.1.js"></script>
<script type="text/javascript">
$(document).ready(function() {$('a').click(function() {
jQuery.ajax({
url: 'somefile.csv',
async: true,
success: function(data) {
$('#myTextArea').html(data);
}
});
});
});
</script>
</head>
<body>
<h1>Basic JavaScript/AJAX Example</h1>
<a href="#">Click Here to load the contents of a page into the TextArea below</a><br />
<textarea id="myTextArea" rows="30" cols="70"></textarea>
</body>
</html>
somefile.csv的内容是: test1,test2,test3
点击放入textarea的'omefile.csv'的'a'内容后