【发布时间】:2016-02-24 01:18:55
【问题描述】:
我有一个 jQuery ajax 函数,它运行一个 php 文件来返回 MySQL 表中的所有数据行。我可以在开发工具中看到我的 PHP 文件将数据作为 json 回显,但我的 ajax 函数始终运行错误函数而不是成功函数。我错过了一些非常明显的东西吗?任何帮助将不胜感激。
JS
$("#RUN").click(function() {
$.ajax({
url: 'api.php',
data: '',
dataType: 'json',
success: function(data){
alert('Success');
},
error: function(){
alert('error');
}
})
});
PHP
<?php
$databaseName = "workingwithmysql";
$tableName = "users";
$connection = mysql_connect("localhost","root","");
$dbs = mysql_select_db($databaseName, $connection);
$result = mysql_query("SELECT * FROM $tableName");
$array = mysql_fetch_row($result);
?>
【问题讨论】:
-
您真的在返回数据吗?你只是显示它被分配给
$array,但它永远不会被发送到任何地方。 -
对不起,我错过了我的 PHP 的那一点。我在最后这样做: echo json_encode($array);但仍然 ajax 运行错误函数。
-
如果没有检索到数据,Ajax 响应会导致 error。要进行测试,请删除 php 脚本中的
dataType和仅echo "response";以及 jQuery 成功函数中的alert(data);。 -
请stop using
mysql_*functions。 These extensions 已在 PHP 7 中删除。了解PDO 和 MySQLi 的 prepared 语句并考虑使用 PDO,it's really pretty easy。 -
您只期待一行数据吗?