Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/462.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
浏览器中的JQuery JavaScript错误,不是Dreamweaver_Javascript_Jquery_Html_Ajax_Json - Fatal编程技术网

浏览器中的JQuery JavaScript错误,不是Dreamweaver

浏览器中的JQuery JavaScript错误,不是Dreamweaver,javascript,jquery,html,ajax,json,Javascript,Jquery,Html,Ajax,Json,我试图创建一个网页,通过文本框获取一个位置,并在谷歌地图上绘制该位置附近最近发生的所有地震 我正在使用Dreamweaver调试我的代码,当我使用它包含的内置实时网页功能时,该网页可以完美地工作 但是,当我在浏览器中打开保存的文件时,我得到的只是一个错误“地理编码未成功,原因如下:错误”。这对找出问题所在并没有什么帮助,而且我对web语言和开发web站点的经验很少 如果您能提供任何帮助或见解,我将不胜感激 代码: 无标题文件 html{高度:100%} 正文{高度:100%;边距:0;填充:

我试图创建一个网页,通过文本框获取一个位置,并在谷歌地图上绘制该位置附近最近发生的所有地震

我正在使用Dreamweaver调试我的代码,当我使用它包含的内置实时网页功能时,该网页可以完美地工作

但是,当我在浏览器中打开保存的文件时,我得到的只是一个错误“地理编码未成功,原因如下:错误”。这对找出问题所在并没有什么帮助,而且我对web语言和开发web站点的经验很少

如果您能提供任何帮助或见解,我将不胜感激


代码:


无标题文件
html{高度:100%}
正文{高度:100%;边距:0;填充:0}
#地图画布{高度:100%}
var地理编码器;
var映射;
函数初始化(){
geocoder=新的google.maps.geocoder();
变量映射选项={
中心:新google.maps.LatLng(-34.397150.644),
缩放:8,
mapTypeId:google.maps.mapTypeId.ROADMAP
};
map=new google.maps.map(document.getElementById(“地图画布”),
地图选项);
}
函数代码地址()
{
var loc=document.getElementById('locText')。值;
geocoder.geocode({'address':loc},函数(结果,状态)
{
if(status==google.maps.GeocoderStatus.OK)
{
map.setCenter(结果[0].geometry.location);
var north=results[0]。geometry.location.lat()+1;
var south=results[0]。geometry.location.lat()-1;
var east=results[0].geometry.location.lng()+1;
var west=results[0].geometry.location.lng()-1;
var-url;
url='1〕http://api.geonames.org/earthquakesJSON?north=“+north+”&south=”+south+”&east=“+east+”&west=“+west+”&username=jpcguy89';
$.ajax(url、函数(地震)
{
$。每个(地震、地震、功能(k、aQuake){
var contentString=''+'ID:'+aQuake.eqid+'

'+'magnity:'+aQuake.magnity+'Date:'+aQuake.datetime+'Depth:'+aQuake.Depth+'; var infowindow=new google.maps.infowindow ({ 内容:contentString }); var latLng=新的google.maps.latLng(aQuake.lat,aQuake.lng); var marker=new google.maps.marker ({ 位置:latLng, 地图:地图, 标题:“地震('+aQuake.eqid+')” }); google.maps.event.addListener(标记'click',函数() { 信息窗口。打开(地图、标记); }); }); }); } 其他的 { 警报('地理编码因以下原因未成功:'+状态); } }); } google.maps.event.addDomListener(窗口“加载”,初始化);



城市/地点:


您似乎正在加载混合协议资源

您的JSFIDLE似乎缺少一个ressource()

修复代码以访问非httpS。。然后再试一次

在您的JSFIDLE上看到:

> Timestamp: 9/30/2013 3:40:41 PM Error: ReferenceError: google is not
> defined Source File: fiddle.jshell.net/mZGL3/show Line: 93

我用ressource更新了您的,现在,错误是:{“error”:“请使用POST请求”}

您正在HTML中绑定单击处理程序:

<input type="submit" id="submit" onclick="codeAddress()" />
演示:

编辑:您遇到的另一个问题是呼叫。该方法需要一个对象,但您正在传递一个函数。您可以更改代码以传递对象,将您现在拥有的函数设置为
success
属性:

$.ajax(url, {
    success: function(quakes) {
        ...
    }
});
或use,它接受函数作为第二个参数:

$.get(url, function (quakes) {
    ...
});

演示:

哪些浏览器显示此错误?是一直都会发生,还是只在某些位置发生?协议!请注意您的协议:在JSFIDLE上看到:Timestamp:9/30/2013 3:40:41 PM错误:ReferenceError:google未定义源文件:行:93您是否以
文件的形式打开此文件://
而不是从服务器打开?浏览器显示错误的是Safari和Chrome。我以文件的形式运行它://,而不是从服务器运行(我无法使用我的ip或本地主机打开它)。这解决了一半的问题(谢谢,因为这是一个很大的帮助!)。然而,它仍然没有显示标记。有什么建议吗?@jpcguy89-将
$.ajax()
更改为
$.get()
。我已经更新了我的答案。非常感谢你的帮助!
$(function(){
    $("#geonamesFetch").on("submit", function(e) {
        e.preventDefault();
        codeAddress();
    });
});
$.ajax(url, {
    success: function(quakes) {
        ...
    }
});
$.get(url, function (quakes) {
    ...
});