jQuery.ajax数据结果问题

时间:2011-07-08 01:07:13

标签: php jquery

我该怎么做呢:

$(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结果模拟下载...这可能吗?

1 个答案:

答案 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'内容后