gpt4 book ai didi

javascript - 如果使用 javascript 将 ajax 放置在变量中,结果会有所不同

转载 作者:行者123 更新时间:2023-12-02 13:52:54 24 4
gpt4 key购买 nike

大家好,美好的一天,

我遇到了一个困境,其中包括javasript和ajax。我有一个 ajax 代码,如下所示(不是整个代码,而是代码的一部分,因此可能缺少一些括号,但它可以正常工作)

$.ajax({
url: "ajax/month.php",
type: 'POST',
data: { telcos: telco, start: sdate, end: edate, regions: region},

success: function (dataofconfirm) {
var month = dataofconfirm;
alert(month);

在上面的ajax中(当然它是在javascript中),当我试图提醒它时,这就是结果

enter image description here

然后我尝试制作如下所示的月度销售图表这是我的销售图表的代码 (javascript)

var months = month;
// Get context with jQuery - using jQuery's .get() method.
var salesChartCanvas = $("#salesChart").get(0).getContext("2d");
// This will get the first returned node in the jQuery collection.
var salesChart = new Chart(salesChartCanvas);
var salesChartData = {
labels: months,
datasets: [
{
label: "SMART",
fillColor: "rgb(255,40,40)",
strokeColor: "rgb(255,40,40)",
pointColor: "rgb(253,16,16)",
pointStrokeColor: "#c1c7d1",
pointHighlightFill: "#fff",
pointHighlightStroke: "rgb(220,220,220)",
data: [65, 59, 80, 81, 56, 55, 40]
}

上面的代码只是一部分,因此可能会缺少一些括号。请注意,我将 ajax 结果放在 varmonths

但是当 JavaScript 加载并完成其进程时,结果如下所示

enter image description here

现在不再显示每月的特定数字,而是显示月份变量中每个字母的特定数字。

我该如何解决这个问题。结果必须像下面的那样(这只是一个静态数据,所以它是正确的)

enter image description here

这就是 labels:months 的样子标签:[“八月”、“九月”、“十月”、“十一月”],

最佳答案

ajax 响应返回一个字符串,而不是一个数组。

在 JavaScript(和大多数语言)中,字符串可以被视为字符数组。这就是这里发生的事情。

您需要将返回的数据解析为 JSON,可以通过以下两种方式之一执行此操作:

 JSON.parse(month); // <-- the result returned from the server

或者使用 jQuery $.ajax

 $.ajax({
url: "ajax/month.php",
dataType: "json", // <-- response will be an object, not a string
type: 'POST',
data: { telcos: telco, start: sdate, end: edate, regions: region},

关于javascript - 如果使用 javascript 将 ajax 放置在变量中,结果会有所不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40885086/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com