Javascript 如何使用AJAX从数据库获取数据并显示在页面上
我在一个项目中工作,我被困在这里,我不知道为什么我不能从我的数据库中获取列表\ 这是我的JAVASCRIPTJavascript 如何使用AJAX从数据库获取数据并显示在页面上,javascript,php,ajax,Javascript,Php,Ajax,我在一个项目中工作,我被困在这里,我不知道为什么我不能从我的数据库中获取列表\ 这是我的JAVASCRIPT $(document).ready(function(){ $.ajax({ url:'datos.php?accion=ac', success:function(datos){ for(x = 0;x<datos.length;x++){ //$("#PAIS").append("&
$(document).ready(function(){
$.ajax({
url:'datos.php?accion=ac',
success:function(datos){
for(x = 0;x<datos.length;x++){
//$("#PAIS").append("<option value='"+datos[x].id_pais+"'>"+datos[x].pais+"</option>");
$("#PAIS").append(new Option( datos[x].pais, datos[x].id_pais));
}
}
})
$("#PAIS").change(function(){
//var felix=$('#PAIS option:selected').val();
//alert(felix);
$.ajax({
url:'datos.php?accion=ad',
alert('hola22');
success:function(datos1){
console.log("hola");
for(x = 0;x<=datos1.length;x++){
//$("#PAIS").append("<option value='"+datos[x].id_pais+"'>"+datos[x].pais+"</option>");
$("#REGION").append(new Option( datos1[x].region, datos1[x].id_region));
}
}
})
});
})
$(文档).ready(函数(){
$.ajax({
url:'datos.php?accion=ac',
成功:功能(datos){
对于(x=0;x这是法语吗?哈哈,幸运的是,它仍然是所有代码。
试试这个:
在success(datos1)函数中,用datos1.data替换datos1。Ajax提供了整个响应,您只需要从响应中获取数据
success:function(datos1){
console.log(datos1);
console.log(datos1.data);
for(x = 0;x<=datos1.data.length;x++){
//$("#PAIS").append("<option value='"+datos.data[x].id_pais+"'>"+datos.data[x].pais+"</option>");
$("#REGION").append(new Option( datos.data[x].region, datos.data[x].id_region));
}
成功:函数(datos1){
控制台日志(datos1);
console.log(datos1.data);
对于(x=0;x首先,您会发现回顾这些关于AJAX的简单示例很有帮助。不要只是阅读它们,而是将它们复制到您的服务器并使其工作。更改一些名称或值——看看它们是如何工作的
接下来,这里有一篇文章概述了PHP/web page/AJAX是如何协同工作的。花几分钟时间仔细阅读。看看你是否能遵循逻辑。我打赌灯泡会为你点亮的
使您的代码尽可能标准化。不要使用任何快捷方式。使用完整的$.ajax()
结构,而不是$.post()
或$.get()
(这两种都是$.ajax()的快捷方式)
。不要跳过任何内容。随着您的进步,您可以开始使用一些快捷方式。但现在,请确保您的AJAX代码块如下所示:
var var_value = $('#someElement').val();
$.ajax({
type: 'post',
url: 'your_ajax_processor.php',
data: 'post_var_name=' +var_value,
success: function(dataz){
if (dataz.length) alert(dataz);
$('body').append(dataz);
}
});
在PHP中,您将收到您在$\u POST
数组变量中发布的值。如果在AJAX中,您将变量命名为POST\u var\u name
(正如我们在上面的示例中所做的),那么这就是您访问内容的方式:
$myVar = $_POST['post_var_name'];
当您遇到问题时,最好进行一些测试。(1)在PHP端,注释掉所有内容,并在顶部输入echo命令,如:
<?php
echo 'I got here';
die();
在这一点上,你知道两件事:
您的AJAX到PHP通信正在工作,并且
您可以看到传递给PHP的值
那么,你可以这样做
js/jQuery:
var var_value = $('#someElement').val();
$.ajax({
type: 'post',
url: 'your_ajax_processor.php',
data: 'post_var_name=' +var_value,
success: function(dataz){
if (dataz.length) alert(dataz);
$('body').append(dataz);
}
});
<?php
$myVar = $_POST['post_var_name'];
//Now you can do something with variable `$myVar`, such as:
$out = '
<div class="red-background"> '.$myVar.' </div>
';
//This content is received in the AJAX code block using the variable name you specified: "dataz"
echo $out;
PHP:
var var_value = $('#someElement').val();
$.ajax({
type: 'post',
url: 'your_ajax_processor.php',
data: 'post_var_name=' +var_value,
success: function(dataz){
if (dataz.length) alert(dataz);
$('body').append(dataz);
}
});
<?php
$myVar = $_POST['post_var_name'];
//Now you can do something with variable `$myVar`, such as:
$out = '
<div class="red-background"> '.$myVar.' </div>
';
//This content is received in the AJAX code block using the variable name you specified: "dataz"
echo $out;
问题不在那里。我认为问题在于functions.php:/