Javascript另一个类属性访问

Javascript另一个类属性访问,javascript,jquery,Javascript,Jquery,我的javascript类包含以下代码,并将其保存为globalrates.js文件 $(function() { setInterval('rates.set_rates()',1000); }); rates = { marketstatus: { 'goldrate': '', 'status': '' }, set_rates : function() { var my_Date = new Date(

我的javascript类包含以下代码,并将其保存为globalrates.js文件

$(function() {
    setInterval('rates.set_rates()',1000);
});

rates = {

    marketstatus: {
        'goldrate': '',
        'status': ''
    },

    set_rates : function() {
        var my_Date = new Date();
        $.ajax({
                type: "GET",
                url: "http://localhost:90/appname/rateXml.xml"+"?nocache=" + my_Date.getUTCSeconds(),
                dataType: "xml",
                cache: false,
                success: function(xml) {
                    try {   
                        var data = $.xml2json(xml);
                        if(data.trade_type == 3 || data.rate_display ==0){
                            rates.marketstatus['goldrate'] = "";
                            rates.marketstatus['status'] = "0";
                        }else {
                            rates.marketstatus['goldrate'] = data.goldrate;
                            rates.marketstatus['status'] = "1";
                        }
                    }catch(error){
                        console.log(error);
                    }
                },
                error: function(request,error) {
                    console.log(error);
                }
        }); 
    }
}
这个js文件是我的全局文件,包含在我的header.php文件中 我还有另一个页面,比如goldbuy.php,这里我必须从globalrates.js获取当前的黄金价格

所以我在buygold.js文件中尝试了以下代码

console.log(rates.marketstatus['goldrate']);

但它不起作用,如何为javascript类使用get和set方法(类对象创建为globalrates.js文件)

rates.marketstatus['goldrate']
应该可以。您确定要在您的
goldbuy.php
中包含您的
globalrates.js
?如果在
goldbuy.php
中包含
header.php
,我假设是。我认为,问题是,您需要设置一个间隔1秒的
来设置速率。因为ajax是asyncron,所以您尝试在这些属性存在之前控制台日志。尝试在success()回调中放入console.log(…)语句,以确保在尝试访问该值之前服务调用已完成。