[英]jQuery ajax uncaught type error
我正在尝试将 Rails 生成的 json 转移到 map 上的 Google 地图标记中,但首先我只是想显示 json,因为我是 jQuery/JavaScript 新手。
但是,我遇到了一个我不明白的 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 请求返回的内容。 我的思维/代码中一定存在一些基本错误,因为我无法让它工作。
所以我的问题是:我应该如何读取该错误,然后如何使此代码从 spot.json 中获取 json 并将其显示在我的 html 的#json-div 中?
谢谢!
* *附录 **
这是整个 spot.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);
}
});
});
斑点.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}}]
查看代码中$
的定义,您似乎也在使用 Prototype 框架。 使用多个库时的一个问题是它们会覆盖变量,主要是$
。
In your case, use jQuery
instead of $
(so jQuery.ajax(...)
), or use jQuery.noConflict to restore the $
back to the jQuery one.
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.