从其他页面检索内容

时间:2013-01-30 12:51:46

标签: php jquery html

这是对上一个问题的跟进。

我点击图标时图标发生变化并调用go.php?go= 再次单击时,图标将恢复为原始图标并调用go.php?stop=

这很有效。目前go.php只是将正确的信息写入文本文件,理想情况下我希望看到go.php的输出反映到具有图标的父页面上的DIV中。

我该怎么做?

这是我到目前为止所拥有的......

<script language="javascript">
$(function () {
    $('a.tip').on(' click', function () {
        var $this = $(this),
            container = $('#x')
            prevHTML = container.html(),
            req = {};

        if ( $this.hasClass('go') ) {
            $this.find('img').attr('src', 'images/go.gif');
            $this.removeClass('go');
            req = $.ajax({
                url: 'go.php?go=' + $this.attr('id'),
                type: 'get',
                success: function ( data ) {
                    container.html(x);
                    $this.removeClass('go');
                }
            });
        } else {
            $this.find('img').attr('src', 'images/stop.gif')
                .end().addClass('go');
            req = $.ajax({
                url: 'go.php?stop=' + $this.attr('id'),
                type: 'get',
                success: function ( data ) {
                    container.html( x );
                    $this.removeClass('go');
                }
            });
        }
    });
});
</script>    

<a href='#' class='tip' id='4a' onclick=\"load('#');return false;\">
    <img src='images/go.gif'>
</a>
<a href='#' class='tip' id='6a' onclick=\"load('#');return false;\">
    <img src='images/go.gif'>
</a>
<a href='#' class='tip' id='8a' onclick=\"load('#');return false;\">
    <img src='images/go.gif'>
</a>

go.php包含:

<?php
   $s = (isset($_REQUEST['go'])) ? "GO".$_REQUEST['go'] : "STOP".$_REQUEST['stop'];
   $myFile = "TESTTEST.txt";
   $fh = fopen($myFile, 'w') or die("can't open file");
   $stringData = $s;
   fwrite( $fh, $stringData );
   fclose( $fh );
   echo $s;
?>

更新: 这似乎有效:

<script language="javascript">
$(function () {
    $('a.tip').on(' click', function () {
        var $this = $(this),
            container = $('#x')
            prevHTML = container.html(),
            req = {};

        if ($this.hasClass('go')) {
            $this.find('img').attr('src', 'images/ok.gif');
            $this.removeClass('go');
            req = $.ajax({
                url: 'go.php?go=' + $this.attr('id'),
                type: 'get',
                success: function (data) {
                    container.html(data);
                    $this.removeClass('go');
                }
            });
        } else {
            $this.find('img').attr('src', 'images/error.gif')
                .end().addClass('go');
            req = $.ajax({
                url: 'go.php?stop=' + $this.attr('id'),
                type: 'get',
                success: function (data) {
                    container.html(data);
                }
            });
        }
    });
});
</script>

2 个答案:

答案 0 :(得分:2)

您只需更改此行:

container.html(x);

对此:

container.html(data);

data是包含从AJAX请求返回的文本的变量。

答案 1 :(得分:0)

container.html(x);

应该是

container.html(data);