0

我试图让 AJAX 发布到一个单独的 php 文件,然后将该数据放入一个 div 中。最终目标将是为自动更新设置一个长轮询,但只是步骤。

因此,当页面加载时,div 中不会显示任何内容。我检查了控制台,ajax 确实发送了“启动”POST,但它似乎除了标题之外没有收到任何回复。

固定的整个时间我都缺少大括号。感谢所有语法帮助家伙。

这是代码

ajax调用的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'];
    header("Content-type: application/json");
    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'];
    header("Content-type: application/json");
    echo json_encode($updateid);
     break;          
?>

拨打电话的页面

<div id="datacheck"></div>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>

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

        });
  }); // document ready

</script>
4

2 回答 2

4

你忘了,这里

data: {function: 'initiate'}, // here
datatype: "json",

'function': 'initiate'

应该

function: 'initiate'

function是 javascript 中的保留字,因此您还需要将其更改为其他名称。

于 2013-07-22T06:21:20.817 回答
0

“json”:将响应评估为 JSON 并返回一个 JavaScript 对象。JSON数据被严格解析;任何格式错误的 JSON 都会被拒绝并引发解析错误。从 jQuery 1.9 开始,空响应也会被拒绝;服务器应该返回 null 或 {} 的响应。(有关正确的 JSON 格式的更多信息,请参阅 json.org。)

你被错过了,

data: {function: 'initiate'},
datatype: "json",
于 2013-07-22T06:26:49.533 回答