Ajax没有被执行

时间:2016-07-25 15:44:55

标签: php jquery ajax

我是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;

代码未执行。我该怎么办。

2 个答案:

答案 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版本

,则应使用type
type: 'POST'

但你使用的是2.0,所以我认为这样可行:

method: 'POST'

jQuery Documents