php - 尝试将变量从 $.post 传递到 php

标签 php jquery .post

我有一个大文件(目前),它应该:

  • 从表单中的选择小部件中获取变量 (jQuery)
  • 异步提交表单 (jQuery)
  • 使用从表单 (php) 中选择的变量从数据库返回记录

问题是,变量似乎永远不会到达 php 代码。

谁能告诉我我做错了什么?

我的代码:

(全部在一页上)

    <script type="text/javascript">
        $(function() {
        $("select").change(function () {
              var str = "";
        $("select option:selected").each(function () {
     str += $(this).text() + " ";
        });   
        $.post("index.php", { zip: str}, function(data){
        $('result').text(str); }, "json" );

    });//end select
    });//end function
    </script>

    <?php include_once ('../cons.php'); ?>
    <?php 
    if (isset($_POST['zip'])){
    $value = $_POST['zip'];   
    }else{
    $value = "nada";
    }
    echo $value;

    //I only get "nada"
    ?>
</head>

<body>

<div id="body">
<form id="findzip"><!-- jQuery will handle the form -->
<select name="zip">
<option value="">Find your zip code</option>
    <?php //use php to pull the zip codes from the database
    $mysqli_zip = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
    if (mysqli_connect_errno()) {
            printf("Connect failed: %s", mysqli_connect_error());
            exit();
    }
    $q_zip = "select distinct(zip) from mc m group by zip";
    $r_zip = $mysqli_zip->query($q_zip);
    if ((!$r_zip) || ($r_zip == NULL)) {
            echo "no results ";
    }
    while($row_zip = $r_zip->fetch_array(MYSQLI_BOTH)) {
        echo "<option value='". addslashes($row_zip['zip']) . "'>" . addslashes($row_zip['zip']) . "</option>;\n";
    }//end while

    ?>
</select>
</form>
<!-- here's where the results go -->
<result></result>
<br/>
</div>
</body>
</html>

最佳答案

您编写的脚本正在回显类似“12345”的值。但你的 $.post 期望它是 json 类型。当我删除 json 类型时,它对我来说非常有效。

关于php - 尝试将变量从 $.post 传递到 php,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7999685/

相关文章:

php - jQuery .post 帖子元素

php - 如何在 PHP 中的子类继承方法中定义更严格的类型?

php - 蜘蛛和刮刀架构

php - 如何使用子查询为选定列使用 where 条件?

javascript命名空间调用其他函数方法

javascript - 跟踪 Ajax 请求

javascript - 我正在尝试使用 jquery ajax 淡入和淡出 css 背景颜色?

javascript - jQuery.post() 似乎由于某种原因被跳过

javascript - 为什么我的这个 Jquery .post 的回调函数不工作?

php - 如何从mysql事件中的另一个表传递动态值