我试图让AJAX发布到单独的php文件,然后将这些数据放入div中。最终的目标是为自动更新设置一个长轮询,但宝贝步骤。
当页面加载时,div中没有显示任何内容。我检查了控制台,ajax确实发送了“启动”POST,但除了标题之外似乎没有收到任何回复。
FIXED 整个时间我都缺少大括号。感谢所有语法帮助人员。
这是代码
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>
答案 0 :(得分:4)
你忘记了,
data: {function: 'initiate'}, // here
datatype: "json",
也
'function': 'initiate'
应该是
function: 'initiate'
功能是javascript中的保留字,因此您还需要将其更改为其他名称。
答案 1 :(得分:0)
“json”:将响应评估为JSON并返回JavaScript对象。 JSON数据以严格的方式解析;任何格式错误的JSON都会被拒绝,并抛出一个解析错误。从jQuery 1.9开始,空响应也被拒绝;服务器应该返回null或{}的响应。 (有关正确的JSON格式的更多信息,请参阅json.org。)
你错过了,
data: {function: 'initiate'},
datatype: "json",