JS:
function loadprice(){
$.getJSON('http://domain.com/pulsa/data.php',
function(json){
$("#pricebtcbuy").append(json.price.btcbuy);
$("#pricebtcactu").append(json.price.btcactu);
$("#pricebtcsell").append(json.price.btcsell);
$("#pricedlrbuy").append(jsonprice.usdbuy);
$("#ppsaldo").append(json.price.paypal);
$("#pricedlrsell").append(json.price.usdsell);
});
setTimeout("loadprice()",5000
);
JSON FILE { "price": [ { "btcbuy": "Rp. 2.927.990,-", "btcactu": "", "btcsell": "Rp. 2.784.000,-", "usdbuy": "Rp. 12.853,-", "paypal": "1.00", "usdsell": "Rp. 12.223,-" } ] }
有人知道这里有什么问题吗? Javascript ??谢谢你:D 结果不显示X_X
答案 0 :(得分:3)
有值正确缩进和格式化代码。你错过了loadprice
上的结束大括号。
function loadprice () {
$.getJSON('http://domain.com/pulsa/data.php', function (json) {
$("#pricebtcbuy").append(json.price.btcbuy);
$("#pricebtcactu").append(json.price.btcactu);
$("#pricebtcsell").append(json.price.btcsell);
$("#pricedlrbuy").append(jsonprice.usdbuy);
$("#ppsaldo").append(json.price.paypal);
$("#pricedlrsell").append(json.price.usdsell);
});
}
另外,你是否每隔5秒钟试一次?或者您是否尝试在最初调用它之后的5秒钟内运行它?
如果您想在5秒后调用它,则需要在函数定义之外调用setTimeout
。在这种情况下,您也不需要在函数名后面加上括号。
setTimeout(loadprice, 5000);
这也可以,并且希望它区分调用函数和传递对象。
setTimeout(function () { loadprice(); }, 5000);
如果您想每5秒运行一次,请使用setInterval
。但如果这是你的愿望,那么有更好的方法可以做到这一点。
setInterval(loadprice, 5000);
还有一种更好的方法是使用Promise $.getJSON
返回。这样它就不会每5秒运行一次,但每次请求完成后,Ajax调用将在另外5秒内完成。如果响应时间超过5秒,这将避免潜在的问题。
function loadPrice () {
var jqxhr;
jqxhr = $.getJSON('http://domain.com/pulsa/data.php', function (json) {
$("#pricebtcbuy").append(json.price.btcbuy);
$("#pricebtcactu").append(json.price.btcactu);
$("#pricebtcsell").append(json.price.btcsell);
$("#pricedlrbuy").append(jsonprice.usdbuy);
$("#ppsaldo").append(json.price.paypal);
$("#pricedlrsell").append(json.price.usdsell);
});
jqxhr.done(function () {
setTimeout(loadPrice, 5000);
});
}