使用$ .ajax的第一个脚本,它不起作用

时间:2016-11-29 17:34:03

标签: php jquery ajax

这将是我第一次使用jQuery和Ajax(以及一般的Jacascript),所以如果它是垃圾请不要开枪!

我想要达到的目标是:拥有一个页面product.php,其中展示了一个带有漂亮的img和描述的产品。在底部放置一个<select>menù:当单击<option>时,jQuery代码会将代码加载到tester.php,并将单击选项的value传递给它。 .php脚本将分析value,并根据其值,发送查询以提取相对价格和img。现在,在这之前,我写了一个非常简单的代码(遵循官方文档和这里的一些答案),它应该将变量$return传递回HTML页面,但我想回调它不起作用我不喜欢没有足够的jQuery经验来找到问题和相关的解决方案。

任何人都可以向我解释为什么这不起作用? 谢谢!

ajaxpost.html

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
    $("#menuSelect").on("click", function(){
        var str = $("#menuSelect").val();
        $.ajax({
            type: "POST",
            url: "tester.php",
            data: { value: str },
            success: function(data){
                console.log(data);
            }
        })
    })
});
</script>
</head>

<body>
<div id="txt" >
</div>

<select id="menuSelect">
  <option value="0"></option>
  <option value="1">OPT1</option>
  <option value="2">OPT2</option>
</select>

tester.php

<?php
    $value = $_POST["value"];
    function provaAJAX($value) {
        switch ($value) {
          case "0":
              $return = "First option selected";
              break;
          case "1":
              $return = "Second option selected";
              break;
          case "2":
              $return = "Third option selected";
              break;
        }
        return $return;
    }

    $return = provaAJAX($value);

2 个答案:

答案 0 :(得分:3)

您应该打印要传递回JS的变量:

echo $return;

希望这有帮助。

答案 1 :(得分:0)

要传回JS,您应该打印变量 试试这个:echo $ return;