未捕获的类型错误:无法读取未定义的属性“获取”
Posted
技术标签:
【中文标题】未捕获的类型错误:无法读取未定义的属性“获取”【英文标题】:Uncaught TypeError: Cannot read property 'get' of undefined 【发布时间】:2014-06-26 22:32:13 【问题描述】:当我尝试从自己服务器上的文件中获取响应时,为什么会出现此错误?
$.get("http://www.example.com/user.php?q=" + client + "", function(response)
if(response == "invalid")
console.log("invalid login");
return;
顺便说一句,代码中已经提到了字符串客户端。
并且包含 jquery。
http://i.gyazo.com/693e6633d211ab6da79598e75c6dde58.png
【问题讨论】:
您的文档中是否包含 jQuery 脚本? 如果你没有正确包含 jQuery,你会得到这个错误。请先阅读教程:learn.jquery.com/about-jquery/how-jquery-works. 你是否包含了jquery api??? 是的,包括在内。嗯 @crisbeto 如果$
未定义,这将无济于事。
【参考方案1】:
我认为这会奏效:
$.get("http://www.example.com/user.php?q=" + client, function(response)
if(response == "invalid")
console.log("invalid login");
return;
);
【讨论】:
如果$
未定义,请解释这有什么帮助?
Jquery 文件应该被正确包含进来。
这不是您在回答中建议的内容。这就是OP的问题所在。您的回答并不能解决 OP 的问题。【参考方案2】:
我已经解决了这样的问题(我已经异步加载了 jquery,所以我检查是否已定义,然后得到一个 css ......等等。)
<script id="jquery" type='text/javascript' async defer src='//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js?ver=1.8.3'></script>
<script type='text/javascript'>
(function checkJQuery()
if ('undefined' == typeof window.jQuery)
setTimeout(function()checkJQuery();,250);
else
var css = "url-of-my-css";
console.log("my css is loading");
window.jQuery.get( css, function( data )
$('<style>'+ data +'</style>').appendTo(document.getElementsByTagName('head')[0]);
console.log("css loaded");
);
var js = document.createElement('script');
js.type = 'text/javascript';
js.async = 'async';
js.defer = 'defer';
js.src = 'url-of-my-js';
var node = document.getElementsByTagName('script')[1];
node.parentNode.insertBefore(js, node);
)();
</script>
将 $.get 更改为 window.JQuery.get
希望对您有所帮助。
【讨论】:
【参考方案3】:我在 asp.net mvc 5 中遇到过这样的问题。
<script>
function OpenBulkUpload()
$.get("/AdminPanel/BulkUpload/Index").then(
function (r)
$("<div id='DivBulkUpload'></div>").html(r).dialog(
width: 'auto', height: 'auto', modal: true, title: "Upload Pictures",
close: function () $('#DivBulkUpload').remove(); );
);
</script>
show Uncaught TypeError: Cannot read property 'get' of undefined in debuger browser.
解决方案:
1.通过在包管理器控制台中添加jquery UI
PM> install-package Jquery.UI.combined
2.在cshtml页面顶部添加脚本和链接
<script src="~/Scripts/jquery-1.10.2.js"></script>
<script src="~/Scripts/jquery-ui-1.11.4.js"></script>
<link href="~/Content/themes/base/all.css" rel="stylesheet" />
我的问题解决了。
【讨论】:
以上是关于未捕获的类型错误:无法读取未定义的属性“获取”的主要内容,如果未能解决你的问题,请参考以下文章
获取未捕获的类型错误:无法读取未定义的属性“toLowerCase”[关闭]