Javascript $.getJSON不起作用
我正在尝试使用PHP访问数据库,并使用jQuery显示结果。 但是,当用户使用$.getJSON时,它甚至无法显示警报函数 这是我的jQuery文件:Javascript $.getJSON不起作用,javascript,php,jquery,json,Javascript,Php,Jquery,Json,我正在尝试使用PHP访问数据库,并使用jQuery显示结果。 但是,当用户使用$.getJSON时,它甚至无法显示警报函数 这是我的jQuery文件: $(window).load(function() { $.getJSON("getWeb.php", function(json) { alert('I call it!');}); /*-----------if I use $.get(), I can get an output----------- * $.get(
$(window).load(function() {
$.getJSON("getWeb.php", function(json) {
alert('I call it!');});
/*-----------if I use $.get(), I can get an output-----------
* $.get("getWeb.php", function(json) { //it works
* alert(json);
*/
});
这是我的PHP文件:
--------getWeb.php----
$query = "SELECT webname FROM webinfo";
$result = db_connection($query);
$webs = array();
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
array_push($webs, array('webname' => $row['webname']));
}
echo json_encode(array("webs" => $webs));
exit;
//db_connection is a function used to connect the database...
如果我只调用PHP文件,我可以得到结果,如果我使用$.get函数,我也可以得到PHP的结果,但是如果我调用$.getJSON函数,我甚至看不到警报结果
我是一个学习jQuery的初学者,有人能帮我解决这个问题吗?
多谢各位
-----以下是php文件和$.get函数的输出:
已弃用:mysql\u connect:mysql扩展已弃用,将来将被删除:请在第14行的D:\Software\apache\Apache24\htdocs\inputWebPage\getWeb.php中使用mysqli或PDO
{webs:[{webname:www},{webname:sssss},{webname:ssssssqqqq}]}如果我没记错的话,getJSON就是从一个同样是JSON格式的文件中获取一个以JSON格式打包的对象。您的php文件不是json格式的,而是php代码,用于获取json格式的数据库信息。如果要执行文件中的php代码,我认为您不想在这里使用getJSON。您可以使用$.ajax调用,或者,如果您确实想直接从文件中获取json编码的数据,则需要将getJSON调用指向实际的json文件。这是getJSON工作原理的一个示例:@user2011985显示的PHP代码JSON在返回结果之前对其进行编码,这在原则上很好。OP还注意到,通过其他方法获得相同的JSON文件。get,直接PHP访问,一切都很好。啊,我的错。在这种情况下,我不确定是什么导致了这个问题。由于$.getJSON需要JSON编码的数据,如果您的页面返回无效的JSON数据,它将以静默方式失败,$.get或$.ajax仍将返回数据。由于SQL错误,它不再是JSON格式,因此不会返回。