在控制台中的Ajax响应没关系,但在php页面中没有到达

时间:2016-11-17 09:16:33

标签: php jquery ajax post

我正在寻找一段时间来解决我的问题,但我尝试的每一个解决方案都不起作用。

我有一个html选择

    <select id="exampleid">
     <option>Option1</option>
     <option selected>Option2</option>
     <option>Option3</option>
    </select>

Ajax请求

    $('#exampleid').change(function(){

       var aabbcc = $(this).val().trim();
       $.post("_ws/rca.php?action=brands", {aabbcc:aabbcc}, function(response) {
       console.log('search is: ' + aabbcc + ', Response from PHP script: ' + response);
         });
})

在控制台中返回:

search is: Option2, Response from PHP script: array(1) {
  ["aabbcc"]=>
  string(27) "Option2"
}

PHP

if($action == 'brands'){ //action is relevant for link where send the ajax
var_dump($_POST['aabbcc']);
exit;
}

问题是,$ _POST返回空数组。 我也用print_r和var_dump来填充。 显然AJAX发送了正确的请求,但在PHP中没有发送。

我检查了404错误或类似的东西,但一切似乎都没问题。

提前致谢。

1 个答案:

答案 0 :(得分:2)

您的主页:

<select id="exampleid">
         <option>Option1</option>
         <option>Option2</option>
         <option>Option3</option>
    </select>

<div class="result">none</div>

<script type="text/javascript">
        $('#exampleid').change(function(){  
            var aabbcc = $(this).val().trim();
            $.post("rca.php?action=brands", {aabbcc:aabbcc}, function(response) {
                console.log('Search is: ' + aabbcc + ', Response from PHP script: ' + response);
                $( ".result" ).html( response );
            });
        })
</script>

这是你的回调 rca.php

if($_GET['action']=='brands') {
        echo 'PHP: '.$_POST['aabbcc'];
        return;
    }