AJAX Get不是't工作
AJAX Get isn't working
我正试图用AJAX从mysql服务器中提取数据。这是AJAX调用:
function getAllTasks()
{
alert("Getting all tasks");
$.ajax({
type: "get",
url: "ajax.php",
dataType: "json",
data: data,
async: false,
success: function(data){
alert('hi!');
//perform operation
},
error: function() {
alert('Error occurs!');
}
});
}
这就是它应该运行的PHP:
header('Content-Type: application/json');
$conn = new mysqli('localhost', 'projectAdmin', 'admin', 'to_do_list')
or die('Error connection to database');
getAllTasks($conn);
function getAllTasks($conn)
{
$query = "SELECT * FROM tasks WHERE ID=1";
$result = mysqli_query($conn, $query);
while($row = $result->fetch_assoc())
{
$tasks[] = $row;
}
echo json_encode($tasks);
}
它不起作用。当我单独运行PHP时,它运行良好,并在浏览器中返回一个JSON字符串(chrome)。当我运行AJAX时,什么都不会发生。我收到了"获取所有任务"的警报,然后它就不起作用了。AJAX是从$(document).ready()函数调用的。
我不知道哪里出了问题,我在这里看了很多帖子,我的AJAX代码看起来几乎一模一样。json_encode有问题吗?AJAX?请帮帮我。
此处:
data: data,
看起来data
变量未定义。此外,我建议您删除async: false
选项,以便发出异步请求,而不是阻塞UI。
在浏览器中查看Console
也可能会发现代码中的一些潜在问题。
var xhr = new XMLHttpRequest();
xhr.open("GET", "ajax.php");
xhr.addEventListener("readystatechange", function(ev) {
var xhr = ev.target;
if (xhr.readyState < 4) { /*not finished downloading yet.*/
return;
}
/*the request is completed. do your stuff with xhr.responseText here.*/
console.log(xhr);
});
xhr.send();
相关文章:
- jQuery Ajax GET请求工作不正常
- 如何使Jquery编码的动态下拉菜单与PHP GET变量协调工作
- Jquery Ajax POST不工作.适用于GET
- GET在POST不工作XMLHttpRequest的情况下正常工作
- 从本地文件运行时,$.get()无法正常工作
- $resource 'get' 函数如何在 AngularJS 中同步工作
- 表达快乐.js Restfy Koa app.listen() 和 app.get() 如何工作
- Angular2 http.get代码不工作
- 这个get方法似乎可以工作,但控制台中存在错误
- AJAX Get不是't工作
- Date.prototype.get日期;不能在Safari中工作
- $.get-Ajax中的alert()在IE中不工作
- 我的Ajax GET是't工作
- 我的jQuery.hooper's工作得很好,但我可以;t get.点击开始工作
- 角度$http.get不工作
- jQuery.get 方法未按预期工作
- 为什么 $.get() 无法正常工作
- window.location 无法使用 get element by id 来工作
- Angular HTTP GET请求在浏览器中工作时返回未定义
- Angular JS:使用 $http.get() 导入 JSON 数据 - 在控制器中工作,不在服务中 - 为什么