javascript - jQuery ajax 未捕获类型错误

标签 javascript jquery ajax google-maps

我正在尝试将 Rails 生成的 json 传输到 map 上的 Google map 标记中,但首先我只是尝试显示该 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 请求返回的内容。我的思维/代码中一定存在一些根本性错误,因为我无法让它工作。

所以我的问题是:我应该如何读取该错误,然后如何使此代码从 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}}]

最佳答案

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

在您的情况下,使用 jQuery 而不是 $ (因此 jQuery.ajax(...)),或使用 jQuery.noConflict$ 恢复为 jQuery 的。

关于javascript - jQuery ajax 未捕获类型错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6692240/

相关文章:

javascript - 我如何通过循环获取元素,html?

javascript - 如何跨 Controller 和模块动态地将指令添加到 AngularJS 中的所有输入元素

jquery - 使用 jquery 删除 html 标签中的 no-js 类

javascript - 为 ajax 成功加载 div

javascript - 近似平方根

javascript - 使用 Oauth2 将 REST 用于 Google Drive

javascript - 如何将全屏应用于图像

jquery - 使用 asp.net 在文件上传 jquery 插件中根据产品类型过滤图像

php - AJAX 仅显示数组中的 "name"

javascript - 将带有 AJAX 的 JSON 发送到 Flask 语法错误