我有以下情况。
我使用以下方法进行ajax调用以加载json数据。
// Generic loadJSON
function loadJSON(method, url, callback)
{
$.ajax({
type: method,
url: url,
jsonpCallback: 'jsonCallback',
contentType: "application/json",
dataType: 'jsonp',
success: function (json) {
callback(json);
},
error: function(e) {
console.log(e);
}
});
}
我设置了以下函数来加载json数据
loadJSON('GET', 'url/Scripts/data.json?callback=?', function (response)
{
jsonData = response;
var returnHighest = getHighestValue("Return");
var riskHighest = getHighestValue("Risk");
var returnLowest = getLowestValue("Return");
var riskLowest = getLowestValue("Risk");
gauge.max = returnHighest / 100;
gauge.min = returnLowest / 100;
gauge2.max = riskHighest / 100;
gauge2.min = riskLowest / 100;
//gaugeInput.max = returnHighest / 100;
// gaugeInput.min = returnLowest / 100;
// gauge2Input.max = riskHighest / 100;
//gauge2Input.min = riskLowest / 100;
loadJSON('GET', 'url/Scripts/data2.json?callback=?', function (response)
{
jsonData2 = response;
CalculateRiskReturnCorrelation();
gauge.value = GetReturn() / 100;
$('#returnValue').html("" + (gauge.value*100).toFixed(2) + "%");
gauge2.value = GetRisk() / 100;
$('#riskValue').html("" + (gauge2.value * 100).toFixed(2) + "%");
CalculateRiskReturnCorrelation();
});
// Loads JSON to change the alternative fund data
loadJSON('GET', 'url/Scripts/data3.json?callback=?', function (response) {
jsonData3 = response;
// Set gloabl vairables
alternativeColor = jsonData3.Fund1.Color;
alternativeName = jsonData3.Fund1.Name;
alternativeMax = jsonData3.Fund1.Max;
// Handle possible height change of label
$('#alternatives-text').html(alternativeName);
var newTopPos = (($('#alternatives-text').height() - $('#slider_alternatives').height()) / 2) + $('#alternatives-text').position().top;
$('#alternatives-text').css({ top: newTopPos + "px" });
$('#slider_alternatives').css({ background: alternativeColor });
$('#slider_alternatives').slider('option', { min: 0, max: alternativeMax });
var chart = $('#pie').highcharts();
chart.series[0].addPoint({ name: alternativeName, y: 0, color: alternativeColor, style: { fontSize: "15px", "text-align": "right" } });
alternativesSet = true;
});
});
现在,有时这会正确加载,有时第三个JSON调用会从第二个JSON调用加载数据。不确定这是怎么可能的,因为它们有不同的URL,并且它们的响应函数完全不同并且是自包含的。第二个json调用同时获得一条成功消息和一个错误。
这似乎是一个时间问题,因为它有时起作用,但我看不出反应是如何被混淆的。任何帮助或建议都将不胜感激
我认为就时间而言,一个电话在另一个电话之前返回。在这种情况下,您需要等待每个返回,然后再开始下一个。尝试将ajax调用设置为async: false,如下所示:
// Generic loadJSON
function loadJSON(method, url, callback)
{
$.ajax({
type: method,
url: url,
jsonpCallback: 'jsonCallback',
contentType: "application/json",
dataType: 'jsonp',
async: false,
success: function (json) {
callback(json);
},
error: function(e) {
console.log(e);
}
});
}
问题内容: 我有一个文件列表,我想从Android设备上传到后端。由于内存的限制,我只想在第一个完成后进行第二个API调用,第二个完成后进行第三个API调用,依此类推。 我写了类似 但是我觉得这可能与Rx的精神背道而驰,俗话说,如果您使用的是Observable.create,则可能做错了……这是一种合理的方法吗?通过Retrofit的RxJava集成,是否有更好的方法来实现此目的? 问题答案:
问题内容: 我想在点击提交按钮时验证WordPress帖子上的用户条目,显示错误消息是否存在问题,如果一切正常,则提交表单。我有一个PHP函数进行检查,如果输入的数据还可以,则返回,否则返回一些错误代码。以下JavaScript发出AJAX请求,并应在成功检查后继续提交表单,但不会: 该代码是根据WPSE问题改编的,该问题最初对我不起作用,因为未提交表单。我发现,如果绑定到的jQuery函数返回t
问题内容: 现在,我试图调用已在ASP.NET MVC应用程序(即)中定义的启用AJAX的Web服务。但是该服务从未在我的javascript函数中调用。 如果我在非ASP.NET MVC应用程序中尝试该调用AJAX Web服务的相同技术,则可以正常工作,因此它使我怀疑ASP MVC路由在尝试进行AJAX Web服务调用时是否会以某种方式干扰事物。 您是否知道为什么没有调用我的Web服务?下面的代
问题内容: 所以,我有一张表,上面有这样的行: 每次扫描警报时(即每次触发或清除警报时)都会添加“已扫描的警报”行。任何警报都会添加带有特定Ev_Custom1的行。第一列Ev_Message包含一个计算机ID,该ID使我可以将警报与其他计算机分开。(您不喜欢任意的列名吗?)超过900条独特的警报消息。 我希望查询返回的内容是这样的: 这将是两个日期之间过滤的查询。我可以更改进入表的数据,但是有9
问题内容: 对于需要刷新以设置的时间间隔呈现给用户的部分数据的简单Web应用程序,仅使用setInterval()从端点获取JSON而不使用适当的轮询框架是否有任何弊端? 出于示例的原因,可以说我每5秒刷新一次处理作业的状态。 问题答案: 根据我的评论: 我将使用 [docs] 并始终在收到上一个响应时调用它。这样,在请求/响应花费的时间超过间隔时间的情况下,可以避免可能的拥塞或函数堆栈或任何您想
问题内容: 我有一个标准的javascript ajax调用,其中将data:设置为json数据。 我试图在php中获取数据,这是行不通的。 但是,可行。 我想知道这可能是我的框架或诸如此类的无法正常工作的东西吗?还是还有其他我可以用来获取数据的东西? 编辑: 因此,框架YII和扩展Restfullyii具有使用一种方法获取其数据的方法return json_decode(file_get_con