2011-07-14 120 views
0

我试图将Rails生成的json转换为地图上的Google地图标记,但首先我只是试图显示该json,因为我是新来的jQuery/JavaScript,并尝试明白它。jQuery ajax未捕获类型错误

不过,我一直坚持一个Chrome开发者控制台错误消息我不明白:

Uncaught TypeError: Object function $(element) { 
if (arguments.length > 1) { 
    for (var i = 0, elements = [], length = arguments.length; i < length; i++) 
    elements.push($(arguments[i])); return elements; 
} 
if (Object.isString(element)) element = document.getElementById(element); 
    return Element.extend(element); 
} has no method 'ajax' 

我尝试使用代码从各种教程/例子,但有没有人工作。目前我的代码看起来是这样的:

$.ajax({ 
    url: "http://localhost:3000/spots.json", 
    success: function(html){ 
     $("#json").append(html); 
    } 
}); 

所以这是从一个例子采取的,这种想法只是为了展示一下JSON请求返回。我的思考/代码中肯定存在一些根本性的错误,因为我无法正常工作。

所以我的问题是:我应该怎么读取这个错误,然后如何让这个代码从spots.json中获取json并将它显示在我的html中的#json-div中?

谢谢!

* *附录**

这里是整个spots.js文件:

$(document).ready(function() { 

var latlng = new google.maps.LatLng(60.17, 24.93); 

var myOptions = { 
    zoom: 12, 
    center: latlng, 
    mapTypeId: google.maps.MapTypeId.ROADMAP 
}; 

var map = new google.maps.Map(document.getElementById("map_canvas"), 
    myOptions); 

$.ajax({ 
    url: "http://localhost:3000/spots.json", 
    success: function(html){ 
     $("#json").append(html); 
    } 
}); 
}); 

的spots.json看起来是这样的:

[{"spot":{"address":"","category":"Ramppi","created_at":"2011-07-13T14:06:44Z","latitude":60.171916,"title":"Kiasman \"Design-ramppi\"","updated_at":"2011-07-13T14:06:44Z","id":1,"area":"Helsinki","description":"","longitude":24.935875}},{"spot":{"address":"","category":"Puuli","created_at":"2011-07-13T14:07:07Z","latitude":60.176526,"title":"Tattipuuli","updated_at":"2011-07-13T14:07:07Z","id":2,"area":"Helsinki","description":"","longitude":24.919395}}] 
+2

你使用的是什么版本的jQuery?他们的任何其他图书馆在谷歌地图API以外的页面? – epascarello

+0

有没有包含Mootools或Prototype的库? – polarblau

回答

5

看的定义$在你的代码中,看起来你也使用Prototype框架。使用多个库时的一个问题是它们覆盖变量,主要是$

在你的情况下,使用jQuery代替$(所以jQuery.ajax(...)),或使用jQuery.noConflict恢复$回到jQuery的一个。

+0

谢谢,这解决了奇怪的错误,虽然我仍然从服务器得到一个空响应。但是,现在我至少可以试着做一些事情。谢谢! –