当涉及到函数和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
答案 0 :(得分:2)
ajax jquery代码中有一个拼写错误
成功:功能(msg){...
它应该拼写&#34;功能&#34;。这个错字可能是问题,加上应该有切换案例
getState
在您的PHP代码中。
答案 1 :(得分:1)
在您的AJAX中,您将数据传递回PHP脚本:
data: {'function': 'getState'},
但是在您的PHP脚本中,您没有与getState
匹配的案例陈述,您只有initiate
和update
。因此,您可以编写代码来支持getState
,也可以将initiate
或update
传递给data参数。
还要注意尾随逗号。他们不会在IE中工作。您应该删除数据行'getState'
后的逗号。
您在type
,url
和datatype
$(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
传递update
或initiate
。
如果您只想检查AJAX呼叫是否正常工作
echo "something message"; exit();