jQuery Ajax发送到同一页面

时间:2015-04-24 12:14:01

标签: php jquery ajax mysqli

我想知道当我没有为它定义url时jQuery Ajax是如何工作的。所以它应该将数据发送到同一页面,也就是ajax。我怎样才能得到例如' GET' ajax完成后的数据?

<script type="text/javascript">
$(document).ready(function() {
    $(".idoszak").change(function() {
        var idoszak=$(this).val();
        var dataString = 'idoszak='+ idoszak;

        $.ajax({
            type: "GET", // or POST
            url: "statisztika.php", //The page where is also this script
            data: dataString,
            cache: false,
            success: function(html) {
                ???
            } 
        });

    });
});

现在是php:

    <select name="idoszak" class="idoszak">
        <option value="felev">Félév</option>
        <option value="evvege">Évvége</option>
      </select>
<div id="statisztika">
.
.
.
<?
        $katlag = mysqli_query ($link, "SELECT jegy FROM jegyek WHERE `jegyek`.`osztaly` = '$osztaly' AND `jegyek`.`piros` = '0' AND datum = '$idoszak'");
                $katlagok = mysqli_num_rows($katlag);
?>
.
.
.
</div>

1 个答案:

答案 0 :(得分:0)

这就是发生的事情:

  1. 您可以在地址栏中输入网址(或点击链接或类似内容)
  2. 您的浏览器向该网址发出请求
  3. 服务器将响应发送回浏览器
  4. 浏览器呈现页面
  5. 您触发一些JavaScript
  6. JavaScript让浏览器向同一个URL发出Ajax请求(嗯,几乎相同的URL:你已经更改了查询字符串)
  7. 服务器将响应发送回浏览器
  8. 浏览器将响应提供给JavaScript
  9. 您似乎期望第8步浏览器将步骤4中呈现的页面替换为基于步骤7中的数据的页面。这不会发生。

    所有这一切都是为JavaScript提供了响应。

    该响应的主体将位于成功函数的html变量中。

    如果要更改用户在页面中看到的内容,则必须编写JavaScript来操作页面的DOM(可以使用html变量中的数据)。