在实时服务器上未定义,但在本地主机上工作
Undefined on live server, but WORKS on localhost
我在网页上有一个谷歌地图,上面有标记,上面附有点击监听器。
问题:在本地主机上,当我单击地图标记时,一切都按预期工作。但是,在上传到服务器并尝试实时版本后,单击标记会导致错误Uncaught TypeError: Cannot read property 'listing_id' of undefined
。
这两个console.log
都表明json
和i
是定义的......
控制台.log输出
[ 对象 , 对象 , 对象 , 对象 , 对象, 对象 , 对象 , 对象 , 对象 , 对象 , 对象 , 对象 , 对象 , 对象 , 对象 , 对象 , 对象 , 对象 ]
一: 48
未捕获的类型错误:无法读取未定义的属性"listing_id"
为什么会这样?
JS代码
$.getJSON(......., function(json) {
for(var i = 0; i < json.length; i++) {
(function(i) {
google.maps.event.addListener(markers[json[i].listing_id], 'click', function() {
console.log('json: ' + json);
console.log('i: ' + i);
console.log('json[i].listing_id :' + json[i].listing_id);
// Mark currently opened marker
markers[json[i].listing_id].setIcon(base_url + 'images/template/markers/listing_black.png');
//...
});
})(i);
}
});
看起来您没有将数据传递给回调函数。
尝试将第一行更改为:
$.getJSON(......., function(json) {
相关文章:
- JavaScript 在本地主机中工作,但在托管时不能
- Jquery-ui 在 Firefox 的本地主机上工作正常,但在服务器上则不能
- Jquery Ajax在本地主机上工作,但拒绝在服务器上工作
- 引导在本地主机上工作,但不在联机服务器上工作
- 粘性导航栏在 jsfiddle 上工作,但在本地主机上不符合预期
- JavaScript重定向它不是在服务器上工作,而是在本地主机上工作
- 花式盒子在我上传到虚拟主机后不起作用,但在本地主机上工作
- 在实时服务器上未定义,但在本地主机上工作
- $(“Iframe”).contents()在本地主机上工作,但不能联机
- OAuth.popup()方法在live中不工作,在本地主机上工作
- Valence javascript客户端库在本地主机上工作吗
- 查询Meteor集合(在本地主机上工作,在服务器上失败)
- Webrtc应用程序在本地主机上不工作
- Ajax调用Php脚本以获取base64字符串中的图像,该字符串可在本地主机上工作,但不能从托管服务器中获取
- Wp_localize_script()仅在本地主机上工作
- jQuery路径点在本地主机上不工作
- Javascript不触发FB页面,在主机服务器上工作
- 返回错误;不工作在Firefox在远程主机,但工作在本地主机
- JS:从url获取主机名,正则表达式不工作
- TinyMCE不能在虚拟主机上工作