通过AJAX POST数据并设置为变量

时间:2013-07-21 17:56:31

标签: php jquery mysql ajax

当涉及到函数和ajax时,我对javascript并不是很熟悉。我试图从另一个PHP页面获取一些数据,并把它放入div。当我加载页面时,没有任何内容出现。

我的最终目标是将数据转换为php或javascript,但首先需要弄清楚如何获取/接收数据。

这是feedupdate.php的php代码

    <?php
require "dbc.php";

    $function = $_POST['function'];

    switch($function)
    case('initiate'):
    $search="SELECT * FROM Feedtest ORDER BY id DESC";
    $request = mysql_query($search);
    $mostrecent= mysql_fetch_array($request);
    $mostrecentid = $mostrecent['id']
    echo json_encode($mostrecentid);
     break; 


    case('update'):
    $search="SELECT * FROM Feedtest ORDER BY id DESC";
    $request = mysql_query($search);
    $update= mysql_fetch_array($request);
    $updateid = $update['id'];
    echo json_encode($updateid);
     break;          
?>

这里是ajax

<div id="datacheck"></div>

  <script>
  $(document).ready(function()  {
     $.ajax({
          type: 'POST'
          url: 'feedupdate.php'
          data: {'function': 'initiate',},
          datatype: "json"
          success: function(msg) {
              $('#datacheck').html(msg);
          }

        });
  }); // document ready

3 个答案:

答案 0 :(得分:2)

ajax jquery代码中有一个拼写错误

  

成功:功能(msg){...

它应该拼写&#34;功能&#34;。这个错字可能是问题,加上应该有切换案例

  

getState

在您的PHP代码中。

答案 1 :(得分:1)

在您的AJAX中,您将数据传递回PHP脚本:

data: {'function': 'getState'},

但是在您的PHP脚本中,您没有与getState匹配的案例陈述,您只有initiateupdate。因此,您可以编写代码来支持getState,也可以将initiateupdate传递给data参数。

还要注意尾随逗号。他们不会在IE中工作。您应该删除数据行'getState'后的逗号。

您在typeurldatatype

之后也错过了逗号
  $(document).ready(function()  {
     $.ajax({
          type: 'POST', // add comma
          url: 'feedupdate.php', //add comma
          data: {'function': 'initiate'}, // remove comma
          dataType: "json", // add comma
          success: function(msg) {
              $('#datacheck').html(msg);
          }

        });
  });

Alos你可以使用简写方法$.post docs

来查看

答案 2 :(得分:1)

您在JavaScript中传递getState数据,而在PHP中,您没有类似的案例可以在switch语句中匹配。而不是getState传递updateinitiate

如果您只想检查AJAX呼叫是否正常工作

echo "something message"; exit();