javascript - 通过 php 和 $.ajax 使用 mysql 数据请求将数据传输到 javascript 数组

标签 javascript jquery ajax

我有以下代码用于从 mysql 数据库请求数据:

jquery/javascript:

ajaxGet = function (url) {
    var result = $.ajax({
        url:url,
        type:"POST",
        data:{action:'call_this'},
        dataType: 'json',
        success:function(data) {
      }
    });
    return  result;
}

php:

<?php 
if($_POST['action'] == 'call_this') {  
// call waypoint search
include ('link.php');

$sql="SELECT * FROM Waypoints"; //data in table Waypoints
$result = mysqli_query($link,$sql);

$wptdata=array();

while($line = mysqli_fetch_assoc($result)){
    $wptdata[] = $line;
};

mysqli_close($link);
echo json_encode($wptdata);
};
?>

要获取 JavaScript 数组形式的数据,我希望能够这样说:

wpdata=ajaxGet('datacall.php');

关于如何让它发挥作用的建议?如果我将alert(data[0].name)放在成功函数中,它会产生正确的结果,因此对数据库表的调用肯定有效。但我似乎无法弄清楚如何从 $.ajax 调用中获取数组。

感谢您的帮助 - 一直在搜索其他问题,似乎刚刚找到了解决方案。如果可能的话,我想保留 ajaxGet 函数 - 一旦我让它工作,我将能够更新它,以便它可以灵活地从表中调用哪种数据。

最佳答案

答案是否定的。你不能以任何理智的方式做到这一点。使用回调/ promise - 这就是正确的方法!

function ajaxGet(url) {
    return $.ajax({
        url: url,
        type: "POST",
        data: {
            action: 'call_this'
        },
        dataType: 'json'
    });
}

ajaxGet().done(function(wpdata) {
    // use wpdata here
});

关于javascript - 通过 php 和 $.ajax 使用 mysql 数据请求将数据传输到 javascript 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22285613/

相关文章:

javascript - 仅当文件上传完成时才会触发 XMLHttpRequest 事件 onProgress

javascript - 加载跨域内容时触发事件?

javascript - 单击 Canvas 上绘制圆圈

javascript - 如何将 CSS 添加到我的 `mailchimp` 弹出表单?

javascript - 将 HTML 数据属性设置为整数数组

javascript - Ajax:ajax 响应中的链接不起作用

javascript - React 中组件之间传递数据

javascript - 当浏览器宽度低于950px时如何动态调用jquery函数?

javascript - 从 jquery ajax 传递数组到代码后面

javascript - 获取 AJAX 请求并仅创建一次 div