Javascript 将jvectormap连接到由ajax访问的数据库

Javascript 将jvectormap连接到由ajax访问的数据库,javascript,php,jquery,json,ajax,Javascript,Php,Jquery,Json,Ajax,我有一个问题: Javascript声明: var OCUPARE_CULOARE = jQuery.ajax({ type: 'post', url: '/wp-content/themes/seopress/VerifiOcupareHARTA.php', dataType: 'json', data : {data : codparcela}, success: fun

我有一个问题:

Javascript声明:

var OCUPARE_CULOARE = 
jQuery.ajax({
            type: 'post',
            url: '/wp-content/themes/seopress/VerifiOcupareHARTA.php',
            dataType: 'json',
            data : {data : codparcela},
            success: function(response) {
            var   OCUPARE_CULOARE1 =  JSON.stringify(response);
            alert (OCUPARE_CULOARE1); 

            }
      });
var ALAAA = JSON.stringify(OCUPARE_CULOARE);
console.log (OCUPARE_CULOARE);
console.log (ALAAA);
PHP文件:

 <?php
 $res9= $_POST['data'];
 global $wpdb;
 $ocupate = $wpdb -> get_results("SELECT Cod FROM Ocupare_Cimitir WHERE Cod 
 LIKE  '$res9%'");
 echo (json_encode($ocupate));?>

将ajax进程转换为javascript函数,并在成功时返回结果,或者在ajax进程不工作时返回false,这样做并不更好。

感谢这一点,如果没有问题,您将得到php文件的结果,如果ajax不工作,您可以输入一个错误

将ajax进程转换为javascript函数,并在成功时返回结果,或者在ajax进程不工作时返回false,这样做并不更好。
感谢这一点,如果没有问题,您将得到php文件的结果,如果ajax不工作,您可以输入一个错误

问题在于ajax调用是异步的。这意味着在ajax调用之后,代码将继续执行,即使调用尚未完成

解决方案1(回调) 回调用于告诉异步操作在异步操作完成后应该执行什么

function getDataFromServer(callback) {
    jQuery.ajax({
        type: 'post',
        url: '/wp-content/themes/seopress/VerifiOcupareHARTA.php',
        dataType: 'json',
        data : {data : codparcela},
        success: function (response) {
            callback(JSON.stringify(response))
        }
    });
}

getDataFromServer(function (OCUPARE_CULOARE1) {
    alert(OCUPARE_CULOARE1);
});
解决方案2(承诺) 尽管Promise的解决方案看起来更冗长,但它在以后会有回报,因为它使异步函数的组合变得更容易

function getDataFromServer() {
    return new Promise(function (resolve, reject) {
        jQuery.ajax({
            type: 'post',
            url: '/wp-content/themes/seopress/VerifiOcupareHARTA.php',
            dataType: 'json',
            data : {data : codparcela},
            success: function (response) {
                resolve(JSON.stringify(response));
            }
        });
    });
}

getDataFromServer().then(function (OCUPARE_CULOARE1) {
    alert(OCUPARE_CULOARE1);
});
解决方案3(异步/等待) 如果您不需要支持各种各样的浏览器(特别是旧浏览器),那么可以选择async/await。它看起来更干净,可以与
Promise
s进行互操作。请注意,只能在
async
函数中使用wait,这就是为什么在我的示例中添加了函数
doSomething

async function getDataFromServer() {
    return new Promise(function (resolve, reject) {
        jQuery.ajax({
            type: 'post',
            url: '/wp-content/themes/seopress/VerifiOcupareHARTA.php',
            dataType: 'json',
            data : {data : codparcela},
            success: function (response) {
                resolve(JSON.stringify(response));
            }
        });
    });
}

async function doSomething() {
    const OCUPARE_CULOARE1 = await getDataFromServer();
    alert(OCUPARE_CULOARE1);
}

doSomething();

问题在于ajax调用是异步的。这意味着在ajax调用之后,代码将继续执行,即使调用尚未完成

解决方案1(回调) 回调用于告诉异步操作在异步操作完成后应该执行什么

function getDataFromServer(callback) {
    jQuery.ajax({
        type: 'post',
        url: '/wp-content/themes/seopress/VerifiOcupareHARTA.php',
        dataType: 'json',
        data : {data : codparcela},
        success: function (response) {
            callback(JSON.stringify(response))
        }
    });
}

getDataFromServer(function (OCUPARE_CULOARE1) {
    alert(OCUPARE_CULOARE1);
});
解决方案2(承诺) 尽管Promise的解决方案看起来更冗长,但它在以后会有回报,因为它使异步函数的组合变得更容易

function getDataFromServer() {
    return new Promise(function (resolve, reject) {
        jQuery.ajax({
            type: 'post',
            url: '/wp-content/themes/seopress/VerifiOcupareHARTA.php',
            dataType: 'json',
            data : {data : codparcela},
            success: function (response) {
                resolve(JSON.stringify(response));
            }
        });
    });
}

getDataFromServer().then(function (OCUPARE_CULOARE1) {
    alert(OCUPARE_CULOARE1);
});
解决方案3(异步/等待) 如果您不需要支持各种各样的浏览器(特别是旧浏览器),那么可以选择async/await。它看起来更干净,可以与
Promise
s进行互操作。请注意,只能在
async
函数中使用wait,这就是为什么在我的示例中添加了函数
doSomething

async function getDataFromServer() {
    return new Promise(function (resolve, reject) {
        jQuery.ajax({
            type: 'post',
            url: '/wp-content/themes/seopress/VerifiOcupareHARTA.php',
            dataType: 'json',
            data : {data : codparcela},
            success: function (response) {
                resolve(JSON.stringify(response));
            }
        });
    });
}

async function doSomething() {
    const OCUPARE_CULOARE1 = await getDataFromServer();
    alert(OCUPARE_CULOARE1);
}

doSomething();

好的,但是如何将sql查询的响应转换成变量呢?因为我想要一个字符串响应或json。谢谢您的帮助。好的,但是如何将sql查询的响应转换成变量呢?因为我想要一个字符串响应或json。谢谢你的帮助。