jquery ajax函数没有回发给div

时间:2013-12-03 21:23:50

标签: php jquery ajax

我有: support_question.php

$('#topic').on('change', function() {  
    var sel = $(this).find('option:selected').val();
    $.ajax({
        url: "support_process.php",
        type: "POST",
        data: {info : sel},
        success: function(data) {
            alert(data);
            $( "#divtopic" ).data("topic", sel);
        }
    });
});

进一步向下......     

在support_process.php中,我有:

<?php
   echo $_POST['info'];
?>

我想知道为什么我的“divtopic”div没有填充$ _POST信息。

2 个答案:

答案 0 :(得分:5)

.data()方法未设置供用户查看的文本。使用:

$( "#divtopic" ).text(data);

或者如果您的回复包含加价:

$( "#divtopic" ).html(data);

顺便说一下,你可以得到下拉列表的当前值(正如Eddie Monge Jr非常正确地指出的那样),this.value。 (或者更常见的是,如果您还没有使用$("someSelector").val()元素的引用 - 无论哪种方式都不需要使用.find('option:selected')。)

进一步阅读:

答案 1 :(得分:1)

如果这真的是整个php文件的响应,那么这应该可行

$('#topic').on('change', function() {
  $.post(
    'support_process.php',
    {info : this.value},
    function(data) {
      console.log(data);
      $("#divtopic").html(data);
    },
    'html'
  );
});

正如@nnnnnn所说,你需要添加一些实际向用户显示信息的内容,如.html()

另外,请勿使用警报进行调试。使用控制台代替,因为警报可以中断事情并导致令人头疼,而控制台更可靠并且是为调试而构建的。