我想使用ajax()方法来执行AJAX请求。我尝试在scripts.google.com中创建以下功能,但是我收到以下错误:
function AjaxCall() {
var arr = { City: 'Moscow', Age: 25 };
$.ajax({
url: 'https://worker-aws-us-east-1.iron.io/2/projects/',
type: 'POST',
data: JSON.stringify(arr),
contentType: 'application/json; charset=utf-8',
dataType: 'json',
async: false,
success: function(msg) {
alert(msg);
}
});
}
错误:
ReferenceError: "$" is not defined. (line 5, file "Code")
有没有办法解决这个问题?
答案 0 :(得分:0)
看来你的HTML中并没有提供jquery。请记住,jquery是一个客户端,javascript库 - 所以浏览器需要加载jquery javascript文件。换句话说,有效的引用需要在返回给客户端浏览器的HTML中。
您的评论表明您尝试过:
<script src="code.jquery.com/jquery-2.1.1.min.js"></script>
尝试将其更新为:
<script src="http://code.jquery.com/jquery-2.1.1.min.js"></script>
如果您在URL的前面没有包含“http://”(或“https://”或“//”),浏览器会认为它是相对路径,并会尝试加载从当前目录(这可能不是你想要做的)。因此,如果您正在查看的页面是
http://www.examplesite.com/example.html
然后,您在评论中显示的脚本标记将尝试从
加载jqueryhttp://www.examplesite.com/code.jquery.com/jquery-2.1.1.min.js
这可能会返回404错误 - 检查您的javascript控制台,看看它在尝试加载jquery脚本时是否收到错误。
此外,在大多数情况下,建议您将脚本标记放在底部(在关闭正文标记之前)。这样可以在浏览器下载js文件时阻止页面呈现。这不太可能导致您最初看到的问题 - 只是因为您的评论可能表明您在ajax调用之前正在加载它,所以我会提及它。