使用jQuery为JavaScript函数设置变量

使用jQuery为JavaScript函数设置变量,javascript,jquery,variables,datepicker,Javascript,Jquery,Variables,Datepicker,混合使用JavaScript库(Polymaps)和jQuery有点问题。 每当用户从datepicker中选择一个值时,我想调用一个不同的文件 文件名语法为: 4sq_'the selected day value' _ 'the selected month value'.json 这是日期选择器代码: $("#datepicker").datepicker({ dateFormat: 'yy/mm/dd', inline: true, minDate: new D

混合使用JavaScript库(Polymaps)和jQuery有点问题。 每当用户从datepicker中选择一个值时,我想调用一个不同的文件

文件名语法为:

4sq_'the selected day value' _ 'the selected month value'.json
这是日期选择器代码:

$("#datepicker").datepicker({
    dateFormat: 'yy/mm/dd',
    inline: true,
    minDate: new Date(2011, 8 - 1, 20),
    maxDate:new Date(2011, 12 - 1, 31),
    altField: '#datepicker_value',
      onSelect: function(){
        var selDay = $("#datepicker").datepicker('getDate').getDate();                 
        var selMonth = $("#datepicker").datepicker('getDate').getMonth() + 1;             
        var selYear = $("#datepicker").datepicker('getDate').getFullYear();

        plotMap()
    }
});
文件名包含如下所示的选择值:

function plotMap(){
    map.add(po.geoJson()
       .url("4sq_"+selDay+"_"+selMonth+".json")
       .on("load", loadAreas));
};
我还尝试了以下代码:

function plotMap(){
    map.add(po.geoJson()
       .url("4sq_"+
                   $("#datepicker").datepicker('getDate').getDate()
            +"_"+
                  $("#datepicker").datepicker('getDate').getMonth()
            +".json")
       .on("load", loadAreas));
};
但是它给我抛出了一个
访问受限URI被拒绝的
错误


我做错了什么?有什么建议吗?

试试这样:

$("#datepicker").datepicker({
    dateFormat: 'yy/mm/dd',
    inline: true,
    minDate: new Date(2011, 8 - 1, 20),
    maxDate:new Date(2011, 12 - 1, 31),
    altField: '#datepicker_value',
      onSelect: function(){
        var selDay = $("#datepicker").datepicker('getDate').getDate();                 
        var selMonth = $("#datepicker").datepicker('getDate').getMonth() + 1;

        plotMap(selDay, selMonth);
    }
});

function plotMap(day, month){
    map.add(po.geoJson()
       .url("4sq_"+day+"_"+month+".json")
       .on("load", loadAreas));
}

该错误表示您违反了,即您试图访问跨域URL

看看你的URL,它看起来不像是跨域的。当Polymap试图使用绝对URL时,可能会在翻译过程中产生错误。从中的第184行开始,您可能需要逐步了解Polymap如何执行
.url()
功能


检查JSON是否确实位于不同来源的一种方法是查看Firebug或Web Inspector中的请求,并查看对JSON文件的请求是否确实位于同一个域中,这取决于;例如,与的来源不同。

它似乎不起作用。我得到了相同的错误。对受限URI的访问被拒绝请求发送(null);尝试对url发出警报:例如:`alert(“4sq_”+day+“_”+month+”.json”);在地图功能中,嗯,好的,我知道了。问题是文件名为“4sq_07_09.json”。在选择过程中,日期选择器的值似乎是正确的“07/09/2011”,但使用firebug检查变量“day”和“month”是7和9(没有0)。这就是发送的url不正确的原因。脚本试图访问“4sq_7_9.json”文件,该文件不存在于Chrome开发控制台或Firebug的网络选项卡中,您能看到它试图访问的URL吗?你确定它存在吗?