我是ajax世界的初学者,并尝试使用$ .ajax()函数从php页面调用内容,但代码无法执行。我使用的html页面:
<!DOCTYPE html>
<html>
<head>
<title>AJAX</title>
</head>
<body>
<div >
<input type="text" name="search" id="search">
<br>
<br>
<h2 id="result"></h2>
</div>
<script src="https://code.jquery.com/jquery-2.2.4.min.js" integrity="sha256-BbhdlvQf/xTY9gja0Dq3HiwQF8LaCRTXxZKRutelT44=" crossorigin="anonymous"></script>
<script src="js/script.js"></script>
</body>
</html>
我在script.js中使用的JQuery代码:
$(document).ready(function() {
$('#search').keyup(function () {
var search = $('#search').val();
$.ajax({
url:'search.php',
//the page to which the request will go to
data:{search: search},
type: 'POST',
success:function(data) {
if(!data.error){
$('#result').html(data);//the h2 we want to echo it uing the ajax
}
}
});
});
});
search.php页面包含:
$search = $_POST['search'];
echo $search;
代码未执行。我该怎么办。
答案 0 :(得分:1)
我在PHP代码和ajax端成功代码的响应中看到了一些问题。
您没有发送JSON格式的响应,因此data.error毫无意义。 所以在你的成功中,回调代码应该是这样的。
success:function(data) {
$('#result').html(data);//the h2 we want to echo it uing the ajax
}
答案 1 :(得分:0)
关注jQuery Ajax文档:
方法的别名。如果您使用的是1.9.0之前的jQuery版本
,则应使用typetype: 'POST'
但你使用的是2.0,所以我认为这样可行:
method: 'POST'