Javascript 在ajax完成后将数据从ajax函数传递到另一个函数
试图通过ajax调用将数据传递到Javascript 在ajax完成后将数据从ajax函数传递到另一个函数,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,试图通过ajax调用将数据传递到jvectormap,我有when函数,因此代码在ajax完成加载后运行 我的问题是地图是空的,我得到了一个错误 未捕获引用错误:未定义postdata 这是我目前拥有的代码 $(document).ready(function() { function ajax1() { return $.ajax({ url: "src/data.php
jvectormap
,我有when
函数,因此代码在ajax
完成加载后运行
我的问题是地图是空的,我得到了一个错误
未捕获引用错误:未定义postdata
这是我目前拥有的代码
$(document).ready(function() {
function ajax1() {
return $.ajax({
url: "src/data.php?form_action=call-map",
type: "GET",
data: postdata,
dataType: "text", // the type of data that you're expecting back from the server
error: function(jqXHR, textStatus, errorThrown) {
$().toastmessage("showErrorToast",
"AJAX call failed: "+textStatus+" "+errorThrown);
},
success: function(data) {
console.log(data);
//return false;
}
});
}
$.when(ajax1()).done(function(a1){
$('#world-map').vectorMap({
map: 'world_mill_en',
backgroundColor: "transparent",
regionStyle: {
initial: {
fill: '#e4e4e4',
"fill-opacity": 0.9,
stroke: 'none',
"stroke-width": 0,
"stroke-opacity": 0
}
},
series: {
regions: [{
values: a1,
scale: ["#005aad", "#001d38"],
normalizeFunction: 'polynomial'
}]
},
onRegionTipShow: function(e, el, code){
el.html(el.html()+ '<br>Time Used: '+mapData[code]);
}
});
});
});
控制台日志(数据);显示我需要传递到
jvectormap
的所有数据。您的postdata
变量未初始化(在您发布的代码段中!)。更改此设置:
url: "src/data.php?form_action=call-map",
type: "GET",
data: postdata,
dataType: "text", // the type
为此:
url: "src/data.php",
type: "GET",
data: "form_action=call-map",
dataType: "text", // the type
但是,如果变量“postdata”对您有意义,请告诉我们您在何处对其进行赋值。您的
postdata
变量未初始化(在您发布的代码段中!)请更改以下内容:
url: "src/data.php?form_action=call-map",
type: "GET",
data: postdata,
dataType: "text", // the type
为此:
url: "src/data.php",
type: "GET",
data: "form_action=call-map",
dataType: "text", // the type
但是,如果变量“postdata”对您有意义,请告诉我们您在哪里对其进行赋值。我可以通过使用以下命令转换字符串中的数据类型来解决此问题:
var a1 = JSON.parse(a1);
谢谢。我可以通过使用以下命令转换字符串中的数据类型来解决此问题:
var a1 = JSON.parse(a1);
谢谢。您的
postdata
包含哪些内容?我必须删除该行,因为我没有向脚本发送任何内容console.log(a1)
在您的done函数中显示了哪些内容?如果它返回字符串,您需要将其转换为对象/数组。您的postdata
包含哪些内容?我必须删除该行,因为我没有向脚本发送任何内容console.log(a1)
在您的done函数中显示了哪些内容?如果它返回一个字符串,你需要将它转换成一个对象/数组。我删除了我遗漏的那一行。我看到的问题是,我没有将返回数据从ajax传递到另一个函数properly@user2661296用一个简单的警报测试它,在“when”函数中添加“alert(a1)”并检查您看到的值。我刚刚测试了你的“when”,它工作了,但是我不知道你在“a1”变量中期望得到什么结果。在对函数中的var进行了警报之后,我得到了我需要的字符串{“AF”:10,“AX”:22,“AL”:5,“DZ”:0,“AS”:41,“AD”:74,“AO”:30}但是我的映射仍然是空的,脚本告诉我没有地图数据来填充地图。数据似乎是正确的,现在,我不知道JSvector需要什么格式。如果可以,把唯一的JSVector部分放进去,我会尽力帮助你。但是你的控制台浏览器还有其他错误吗?我删除了我错过的那一行。我看到的问题是,我没有将返回数据从ajax传递到另一个函数properly@user2661296用一个简单的警报测试它,在“when”函数中添加“alert(a1)”并检查您看到的值。我刚刚测试了你的“when”,它工作了,但是我不知道你在“a1”变量中期望得到什么结果。在对函数中的var进行了警报之后,我得到了我需要的字符串{“AF”:10,“AX”:22,“AL”:5,“DZ”:0,“AS”:41,“AD”:74,“AO”:30}但是我的映射仍然是空的,脚本告诉我没有地图数据来填充地图。数据似乎是正确的,现在,我不知道JSvector需要什么格式。如果可以,把唯一的JSVector部分放进去,我会尽力帮助你。但是您的控制台浏览器中还有其他错误吗?