Javascript 循环时ajax调用的非法Break语句
我试图在for循环中进行ajax调用,它抛出异常“uncaughtsyntaxerror:invalikebreak语句”。它发生在调用函数getProviderDetails()的最后一行 我也试着让电话同步,但也没用。甚至改变了回归的循环,就像我在其他答案中读到的那样,没有运气 代码如下:Javascript 循环时ajax调用的非法Break语句,javascript,jquery,ajax,for-loop,Javascript,Jquery,Ajax,For Loop,我试图在for循环中进行ajax调用,它抛出异常“uncaughtsyntaxerror:invalikebreak语句”。它发生在调用函数getProviderDetails()的最后一行 我也试着让电话同步,但也没用。甚至改变了回归的循环,就像我在其他答案中读到的那样,没有运气 代码如下: function getProviderDetails(origin,destination,outbound,inbound) { $.get("/api/provider.ph
function getProviderDetails(origin,destination,outbound,inbound) {
$.get("/api/provider.php", {
async: false,
origin: origin,
destination: destination,
outbound: outbound,
inbound: inbound
},
function(data, status) {
console.log(data);
var values = data.split(";");
if (dates.length < 2) {
break;
}
var price = values[0];
if (price < 1) {
break;
}
var link = values[1];
printData(origin,destination,outbound,inbound,price,link);
});
}
function printData(origin,destination,outbound,inbound,price,link) {
var row = "<tr>"+"<td>"+origin+"</td>"+"<td>"+destination+"</td>"+"<td>"+outbound+"</td>"+"<td>"+inbound+"</td>"+"<td>"+price+"</td>"+"<td>"+link+"</td>"+"</tr>";
$('#prices').append(row);
}
function getMonths(origin,destination) {
$.get("/months.php", {
async: false,
from: origin,
to: destination,
country: "AR",
currency: "ARS"
},
function(data, status) {
console.log(data);
var counter = 0;
var months = [];
for (var key in data) {
counter++;
if (counter > 2) {
break;
}
getDates(origin,destination,key);
}
});
}
function getDates(origin,destination,month) {
$.get("/api.php", {
from: origin,
to: destination,
month: month,
country: "AR",
currency: "ARS"
},
function(data, status) {
console.log(data);
var counter = 0;
for (var key in data) {
counter++;
var outboundDates = [];
var inboundDates = [];
if (counter > 10) {
return;
}
var dates = key.split(".");
if (dates.length < 2) {
return;
}
var outbound = dates[0];
var inbound = dates[1];
//outboundDates.push(outbound);
//inboundDates.push(inbound);
//iterateDates(origin,destination,outboundDates,inboundDates,0);
getProviderDetails(origin,destination,outbound,inbound);
}
});
}
getMonths("BUE","MAD");
函数getProviderDetails(起点、终点、出站、入站){
$.get(“/api/provider.php”{
async:false,
来源:来源,,
目的地:目的地,
出境:出境,,
入站:入站
},
功能(数据、状态){
控制台日志(数据);
var值=data.split(“;”);
如果(日期长度<2){
打破
}
var价格=价值[0];
如果(价格<1){
打破
}
var link=值[1];
打印数据(来源、目的地、出站、入站、价格、链接);
});
}
函数打印数据(来源、目的地、出站、入站、价格、链接){
var row=“”+”+“原产地+”+“目的地+”+“出站+”+“入站+”+“价格+”+“链接+”+”;
$(“#价格”)。追加(行);
}
函数getMonths(起点、终点){
$.get(“/months.php”{
async:false,
来源:来源:,
目的地:,
国家:“AR”,
货币:“阿根廷卢比”
},
功能(数据、状态){
控制台日志(数据);
var计数器=0;
var月数=[];
for(var输入数据){
计数器++;
如果(计数器>2){
打破
}
获取日期(起点、目的地、关键字);
}
});
}
函数getDates(起点、终点、月份){
$.get(“/api.php”{
来源:来源:,
目的地:,
月:月,,
国家:“AR”,
货币:“阿根廷卢比”
},
功能(数据、状态){
控制台日志(数据);
var计数器=0;
for(var输入数据){
计数器++;
var outboundDates=[];
var inboundDates=[];
如果(计数器>10){
返回;
}
var日期=关键分割(“.”);
如果(日期长度<2){
返回;
}
var outbound=日期[0];
var inbound=日期[1];
//outboundDates.推送(出站);
//inboundDates.推送(入站);
//迭代日期(起点、终点、边界外日期、边界内日期、0);
getProviderDetails(来源地、目的地、出站、入站);
}
});
}
getMonths(“BUE”、“MAD”);
如果您只是想“中断”函数,请使用
return
而不是break
。break
关键字用于控制语句(除了If
),而不是函数。正如Rich指出的,return
是如何“中断”函数的。在调用getProviderDetail时,在最后一行抛出异常,因此它永远不会发出break语句。这是另外一回事。你试过运行更新的代码吗?因为你不应该再犯错误了。打破它的是break
。请不要编辑您的问题以将代码更改为“修复”,这会使问题无效。如果您只是想“打破”函数,请使用return
而不是break
。break
关键字用于控制语句(除了If
),不是功能。正如Rich指出的,return
是如何“中断”函数的。在调用getProviderDetail时,在最后一行抛出异常,因此它永远不会发出break语句。这是另外一回事。你试过运行更新的代码吗?因为你不应该再犯错误了。是break
破坏了它。请不要编辑您的问题以将代码更改为“修复”,这会使问题无效。