【问题标题】:POST data through AJAX and set as variable通过 AJAX 发布数据并设置为变量
【发布时间】:2013-07-21 17:56:30
【问题描述】:

我对 javascript 不是很熟悉,尤其是在函数和 ajax 方面。我正在尝试从另一个 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

【问题讨论】:

    标签: php jquery mysql ajax


    【解决方案1】:

    ajax jquery代码有错别字

    成功:函数(msg){...

    应该拼写为“function”。这个错字可能是问题所在,另外应该有开关盒

    获取状态

    在您的 php 代码中。

    【讨论】:

    • 你能在浏览器中检查你的 javascript 控制台是否有任何可能的客户端错误吗?
    • 另外,如果您使用的是 chrome,请使用此扩展程序来测试您的 POST 请求 getpostman.com
    【解决方案2】:

    您在来自 JavaScript 的数据中传递 getState,而在 PHP 中,您在 switch 语句中没有类似的大小写匹配。而不是getState 传递updateinitiate

    如果您只想检查 AJAX 调用是否正常工作

    echo "something message"; exit();
    

    【讨论】:

      【解决方案3】:

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

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

      但是在您的 php 脚本中,您没有匹配 getState 的 case 语句,您只有 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);
                }
      
              });
        });
      

      你也可以使用速记方法$.postdocs查看

      【讨论】:

      • 我提出了倡议,但仍然没有,有什么想法吗?
      • 缺少的逗号需要补充
      • ok 添加逗号,控制台显示 json 的“意外标识符”,我会查找它。
      猜你喜欢
      • 1970-01-01
      • 2015-06-07
      • 1970-01-01
      • 1970-01-01
      • 2020-04-19
      • 2015-09-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多