繁体   English   中英

jQuery和AJAX用于txt文件

[英]Jquery and AJAX for txt file

这是我的脚本

<div id="result"></div>
<script src="jquery-1.10.2.min.js"></script>
<script>
$('#year li').click(function() {
    var text = $(this).text();
    //alert('text is ' + text);
    $.post("B.php",
    {
    text: text,

      } );  
    event.preventDefault() ;
  });
</script>

单击列表项时,它将执行php脚本。 脚本B.php创建了一些txt文件。 让我们叫ddd.txt之一 现在,我想在单击时将ddd.txt文件的内容加载到具有id 结果的div上。 有人可以帮我吗?

在您的php file添加以下代码

$file = 'ddd.txt';
$contents = file($file); 
$string = implode($contents); 
echo $string;

post success添加后,您将获得从php文件echoed该值。假设它名为data

$('#result').text(data);

希望这可以帮助你交配.. :)

$.post("B.php",{ text: text}, function(data){
    $('#result').text(data);
}); 

或者如果jQuery> = 1.5:

$.post("B.php",{ text: text}).done(function(data){
    $('#result').text(data);
}).fail(function(){
    console.log('something went wrong', arguments);
}); 

您有两个选择。 您可以在生成器请求中加载结果的“同步”方法。 或“异步”方法,您在生成器运行后每x秒检查一次结果。

同步地你可以做

$.post("B.php, { 'text': text }, function(return_data, txtStatus, jqXHR) {
    $('#result').html(return_data);
});

并让您的php生成文件,并在结束脚本之前输出要显示的数据。

异步地,有几种选择。 最简单的方法是使用$().load ,您可以在其中执行以下操作:

function check_results(text) {
    $('#results').load('somescript.php', { 'text' : text }, function(return_data) {
        if(return_data == "") {
            setTimeout(function(){ check_results(text); }, 1000);
        }
    });
}


$.post("B.php, { 'text': text }, function(return_data, txtStatus, jqXHR) {
    check_results(text);
});

实质上,一旦POST返回,便开始检查文件。 如果此脚本生成大量文件并花费一些时间,但是您想获取例如第一个文件,则可以通过在post回调函数之外调用它来与post串联运行check results函数(这是我猜是更异步的。

显然,该代码是一个示例,因此,请捏一点盐,然后对其进行修改。

我将通过$ .ajax()完成此完整操作。

$('#year li').click(function(){
    var text = $(this).text();
    $.ajax({url: 'B.php', type: 'POST', data: {'value':text}, success: function(data){
        alert(data); // alert any return values;
    }
    });
});

在B.php中,您可以使用$ _POST ['value']变量将内容发布到文件中,也可以在干净的php代码中添加所需的任何内容。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM