![](/img/trans.png)
[英]jQuery.ajax: TypeError: Property 'xhr' of object #<Object> is not a function
[英]jQuery.ajax is not a function TypeError
我不確定為什么我的代碼出現錯誤。 我怎么了?
<!DOCTYPE html>
<html lang="en">
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<!-- Bootstrap CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/css/bootstrap.min.css" integrity="sha384-rwoIResjU2yc3z8GV/NPeZWAv56rSmLldC3R/AZzGRnGxQQKnKkoFVhFQhNUwEyJ" crossorigin="anonymous">
<script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
<script>
$( document ).ready(function() {
var logResp = $('#food-hygiene');
logResp.ajax({
url: "food-hygiene.html",
async: false,
type: "GET",
dataType: "string"
}).done( function(data) {
alert(data);
})
});
</script>
</head>
<body>
<div class="container-fluid">
<div class="content-wrapper">
<div id="food-hygiene">Loading...</div>
</div>
</div>
<!-- jQuery first, then Tether, then Bootstrap JS. -->
<script src="https://code.jquery.com/jquery-3.1.1.slim.min.js" integrity="sha384-A7FZj7v+d/sdmMqp/nOQwliLvUsJfDHW+k9Omg/a/EheAdgtzNs3hpfag6Ed950n" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.4.0/js/tether.min.js" integrity="sha384-DztdAPBWPRXSA/3eYEEUWrWCy7G5KFbe8fFjk5JAIxUYHKkDx6Qin1DkWx51bBrb" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/js/bootstrap.min.js" integrity="sha384-vBWWzlZJ8ea9aCX4pEW3rVHjgjt7zpkNpZk+02D9phzyeVkE+jo0ieGizqPLForn" crossorigin="anonymous"></script>
</body>
</html>
更新:正如Satpal指出的那樣,有兩個對jQuery的引用。 較低的版本是不支持jQuery的苗條版本。
logResp
它包含使用以下語句選擇的#food-hygiene
元素的實例: $('#food-hygiene');
。
替換此代碼:
logResp.ajax({
url: "food-hygiene.html",
async: false,
type: "GET",
dataType: "string"
}).done( function(data) {
alert(data);
})
有了這個:
jQuery
.ajax(
{
url: "food-hygiene.html",
async: false,
type: "GET",
dataType: "string"
}
)
.done(
function(data) {
alert(data);
}
);
我遇到過同樣的問題。
只需替換:
'SRC = “https://code.jquery.com/jquery-3.1.1.slim.min.js”'
同
'SRC = “https://code.jquery.com/jquery-3.1.1.min.js”'
在腳本標簽中並將其添加到頭部
看來jQuery文件未正確加載,我嘗試了沒有另一個<link>
標記的情況,並且代碼未引發任何錯誤:
$('#food-hygiene')
也沒有ajax()
put $
有的方法。
$(document).ready(function() { $.ajax({ url: "food-hygiene.html", async: false, type: "GET", dataType: "string" }).done(function(data) { alert(data); }) });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <!DOCTYPE html> <html lang="en"> <head> <!-- Required meta tags --> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <!-- Bootstrap CSS --> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/css/bootstrap.min.css" integrity="sha384-rwoIResjU2yc3z8GV/NPeZWAv56rSmLldC3R/AZzGRnGxQQKnKkoFVhFQhNUwEyJ" crossorigin="anonymous"> <!--<script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>--> </head> <body> <div class="container-fluid"> <div class="content-wrapper"> <div id="food-hygiene">Loading...</div> </div> </div> <!-- jQuery first, then Tether, then Bootstrap JS. --> <!--<script src="https://code.jquery.com/jquery-3.1.1.slim.min.js" integrity="sha384-A7FZj7v+d/sdmMqp/nOQwliLvUsJfDHW+k9Omg/a/EheAdgtzNs3hpfag6Ed950n" crossorigin="anonymous"></script>--> <script src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.4.0/js/tether.min.js" integrity="sha384-DztdAPBWPRXSA/3eYEEUWrWCy7G5KFbe8fFjk5JAIxUYHKkDx6Qin1DkWx51bBrb" crossorigin="anonymous"></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/js/bootstrap.min.js" integrity="sha384-vBWWzlZJ8ea9aCX4pEW3rVHjgjt7zpkNpZk+02D9phzyeVkE+jo0ieGizqPLForn" crossorigin="anonymous"></script> </body> </html>
您正在創建對象並嘗試將其用作ajax
的前綴,這是錯誤的
僅添加一個jQuery庫jquery-3.2.1.min.js
或jquery-3.1.1.slim.min.js
將腳本代碼放到頁面上並檢查。 (或者您也可以將其留在那里)
像下面這樣:
<!DOCTYPE html>
<html lang="en">
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<!-- Bootstrap CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/css/bootstrap.min.css" integrity="sha384-rwoIResjU2yc3z8GV/NPeZWAv56rSmLldC3R/AZzGRnGxQQKnKkoFVhFQhNUwEyJ" crossorigin="anonymous">
<script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
</head>
<body>
<div class="container-fluid">
<div class="content-wrapper">
<div id="food-hygiene">Loading...</div>
</div>
</div>
<!-- jQuery first, then Tether, then Bootstrap JS. -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.4.0/js/tether.min.js" integrity="sha384-DztdAPBWPRXSA/3eYEEUWrWCy7G5KFbe8fFjk5JAIxUYHKkDx6Qin1DkWx51bBrb" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/js/bootstrap.min.js" integrity="sha384-vBWWzlZJ8ea9aCX4pEW3rVHjgjt7zpkNpZk+02D9phzyeVkE+jo0ieGizqPLForn" crossorigin="anonymous"></script>
<script>
$( document ).ready(function() {
var logResp = $('#food-hygiene');
logResp.ajax({
url: "food-hygiene.html",
async: false,
type: "GET",
dataType: "string"
}).done( function(data) {
alert(data);
})
});
</script>
</body>
</html>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.