Javascript getJSON脚本的问题
我有个问题 这让我抓狂 我编写了一个条形码扫描器来检查json中的数据 剧本很好,但是 在while循环之后,如果getjson请求与扫描的条形码不匹配,我希望得到一条错误警报消息 这意味着如果代码没有进入Javascript getJSON脚本的问题,javascript,jquery,json,ajax,getjson,Javascript,Jquery,Json,Ajax,Getjson,我有个问题 这让我抓狂 我编写了一个条形码扫描器来检查json中的数据 剧本很好,但是 在while循环之后,如果getjson请求与扫描的条形码不匹配,我希望得到一条错误警报消息 这意味着如果代码没有进入if(myshopdata.order.reference==barcode) 但每次我把错误警报警报(“找不到代码”)在我的代码中,错误消息早于getjson消息 我知道getJSON是异步的。在ajax调用中也尝试同样的方法,但这会减慢它的速度 有人能帮我在代码中解决这个问题吗 错误消息是
if(myshopdata.order.reference==barcode)
但每次我把错误警报警报(“找不到代码”)
在我的代码中,错误消息早于getjson消息
我知道getJSON是异步的。在ajax调用中也尝试同样的方法,但这会减慢它的速度
有人能帮我在代码中解决这个问题吗
错误消息是我的脚本中唯一缺少的东西
这是我的脚本,下面是我的评论。。。请参阅使用
$.when.apply()方法更新的答案
document.addEventListener("intel.xdk.device.barcode.scan", function(evt){
if (evt.success == true) {
//successful scan
var barcode = evt.codedata;
//Get numbers of Orders
$.getJSON("http://www.testurl.de/api/orders/?ws_key=TEEUQWL9J76LFQE&output_format=JSON", function(data){
var order = JSON.stringify(data);
var orderdata =JSON.parse(order);
var ordercount = Object.keys(orderdata.orders).length;
var queries = [];
var result = 0;
var i = 0;
while(i <= ordercount)
{
queries.push(
$.getJSON("http://www.testurl.de/api/orders/"+i+"?ws_key=TEZQFW41L9J76LFQE&output_format=JSON", function(data){
var shopdata = JSON.stringify(data);
var myshopdata =JSON.parse(shopdata);
result++; // Increment results counter
sweetAlert("Code will be checkd", "Please wait","info");
if(myshopdata.order.reference == barcode)
addcode(myshopdata.order.reference,myshopdata.order.associations.order_rows[0].product_name,myshopdata.order.total_paid_tax_incl,myshopdata.order.associations.order_rows[0].product_id);
});
);
i++;
} //end of while loop
// When all the getJSON calls have completed
$.when.apply($, queries).done(function() {
if(!result) // check results
console.log('No orders found');
});
}); //end of get json
}//end of event listener if
else
sweetAlert("Hoppla", "Woltest du nicht gerade scannen? :) ");
},false);//end of event listener
document.addEventListener(“intel.xdk.device.barcode.scan”,函数(evt){
如果(evt.success==true){
//扫描成功
var条形码=evt.codedata;
//获得订单数量
$.getJSON(“http://www.testurl.de/api/orders/?ws_key=TEEUQWL9J76LFQE&output_format=JSON“,函数(数据){
var order=JSON.stringify(数据);
var orderdata=JSON.parse(order);
var ordercount=Object.keys(orderdata.orders).length;
var查询=[];
var结果=0;
var i=0;
虽然(i$.getJSON是异步的
…因此您的代码运行正常。您需要添加成功
和错误
回调来管理此问题。是的,我知道,但我不知道如何在示例代码中使用它:(从这里开始检查