PHP页面没有收到POSTed jquery ajax request

时间:2016-10-11 13:03:53

标签: php jquery ajax

我的第一个PHP页面有搜索表单:

<form action="#" class="form-inline" id="form_srch">
  <input type="text" id="toSearch" name="toSearch" placeholder="Enter Application Number" class="form-control" style="width:250px" required >
  <button type="button" class="btn btn-primary" onclick="search()">
     <span class="glyphicon glyphicon-search" aria-hidden="true"></span>
  </button>
  <i><b><p style="display:none;color:red" id="result">** Empty Value</p></b></i>
</form>

<div id="ajax"></div>

和javascript函数

<script>
function liveCheck() {
$("#result").show();
}

function search() {
var inp = $("#toSearch").val();
        if(jQuery.trim(inp).length > 0)
 {
jQuery.ajax({
                  url: "load_search_prereg.php",
                  data:{ to : inp },
                  type: "POST",
                  success:function(data){
                  $("#ajax").load('load_search_prereg.php');
                  //alert(data);
                  },
                  error:function (){}
                  });
            }
        else{
          liveCheck();
        }

      }
      </script>

我的第二个PHP页面名为load_search_prereg.php来处理POSTed输入,代码是

<?php
require '../backend/_classes.php';
$x = new DB();
$id = $_POST['to'];
$sql=$x->select(1,'*','tblregistration','app_number',"'$id'");
$fetch = $sql->fetchObject();
var_dump($fetch);

问题是当我点击我的第一个PHP页面中的搜索按钮时,它在我的javascript中使用$("#ajax").load('load_search_prereg.php');方法时没有显示已发布数据的数组。但是当我使用alert(data);时,它会返回预期的结果。问题是否出现在$("#ajax").load('load_search_prereg.php');方法中?请帮助。

2 个答案:

答案 0 :(得分:0)

var stub = sinon.stub(obj, "arr");
stub['key2'].returns = {...} //add new Index 
delete stub['key1'].returns //remove old Index

可是:

$("#ajax").load('load_search_prereg.php');

我假设您只想将此数据写入div

编辑: 而不是var_dump($ fetch);您必须将数据返回给JSON对象,例如:

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

然后你可以用js做你想要的事情

答案 1 :(得分:-1)

应该是method:"POST"而不是type: "POST"

默认情况下,方法设置为GET。