AJAX 数据未显示在页面中

总结一下我在这里要实现的目标:

  • 在 的内部,当在下拉列表中选择一个选项时,将使用内部的事件index.php调用一个函数onchange="displayData(this)<select>

  • POST此函数对 PHP 页面 ( target.php)执行 AJAX请求,value其中包含所选选项的data

  • PHP页面显示div在页面上的a里面

这是使用 jQuery 的函数:

function displayData(str){

  $.ajax({

    url: "target.php",

    type: "POST",

    data: {"value": str.value},

    success: function(data){

      console.log(data);

    }

  });


  $('#my-div').load('target.php');

}

为了方便起见,PHP 页面如下所示:<?php echo $_POST['value']; ?>

data登录时success,一切似乎都正常, 的值$_POST['value']正确显示在控制台中。但是在页面本身中,我收到一个错误:

注意:未定义索引:值

对不起,如果它看起来有点愚蠢,但我不知道我做错了什么......所以我想问问社区。谢谢你们的帮助!干杯。


摇曳的蔷薇
浏览 196回答 3
3回答

呼啦一阵风

请试试这个。你需要从target.php页面返回结果function displayData(str){&nbsp; $.ajax({&nbsp; &nbsp; url: "target.php",&nbsp; &nbsp; type: "POST",&nbsp; &nbsp; data: {"value": str.value},&nbsp; &nbsp; success: function(data){&nbsp; &nbsp; &nbsp; $('#my-div').html(data);&nbsp; &nbsp; }&nbsp; });}

心有法竹

嘿,问题很简单,如果您将从 ajax 获取的数据值发布到 target.php,那么 $&nbsp;('#my-div').load('target.php')应该在 ajax 成功函数中,您必须使用这样的 html 函数来放置数据$("#my-div").html(data)。它会直接在div中加载html格式的数据。

慕姐8265434

如果您使用 .load() ,您的浏览器将向 target.php 发出另一个 GET 请求并显示它,因此您的 $_POST 将为空。$('#my-div').html(data)您可以在 success: of ajax 中使用,或者您可以在 php 中使用 $_GET 而不是 $_POST 并像这样在 url 中传递变量$('#my-div').load('target.php?value='str.value);
打开App,查看更多内容
随时随地看视频慕课网APP