【问题标题】:Uncaught TypeError: Cannot read property 'get' of undefined未捕获的类型错误:无法读取未定义的属性“获取”
【发布时间】:2025-12-24 19:50:07
【问题描述】:

当我尝试从自己服务器上的文件中获取响应时,为什么会出现此错误?

$.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 如果 $ 未定义,这将无济于事。

标签: javascript get response


【解决方案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" />
    

    我的问题解决了。

    【讨论】:

      最近更新 更多