Javascript 将jvectormap连接到由ajax访问的数据库
我有一个问题: Javascript声明: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
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。谢谢你的帮助。