JQuery Ajax does not response to Node JS

JQuery Ajax does not response to Node JS

本文关键字:to Node JS response not Ajax does JQuery      更新时间:2023-09-26

我有以下表单(在客户端):

<html>
<body>
<script>
    $(document).ready(function() {
        $.ajax({
            url: "Search.html",
            type: "POST",
            dataType : "json",
            success: function (result) {
                console.log(result);
                if(result.status == 200 && result.validationFailed ){
                    alert(result.message);
                }
            },
            error: function(result){
                console.log(result);
                if(error.responseText == 'showAlert'){
                    alert( "Sorry, there was a problem!" );
                }
            }
            })
            });
    }   
    </script>
    <form action="/process_post" method="POST">
        <select name="SearchTypes">
            <option value="Author" selected>Author</option>
            <option value="Mention">Mention</option>
            <option value="Tag">Tag</option>
        </select>
        <input type="text" name="term">
        <br><br>
        <input type="submit" value="Submit">
    </form>
</body>
</html>

在服务器端,我使用NodeJS根据数据库验证数据并回复客户端。我有一个数据库中没有数据的情况,我想告诉使用Ajax的用户数据不可用:

var query = connection.query(queryString, [term,term], function(err, rows) {
        var res1 = {};
        console.log(rows);
        var tweet = JSON.parse(JSON.stringify(rows));
        if (tweet.length == 0){
            res1.status = 200;
            res1.validationFailed = true;
            res1.message = 'Empty data';
            res.send(JSON.stringify(res1));
        }else{
            for(var i in tweet){
            res.write("Author: ");
......

当我运行代码时,我不会收到警报。我实际上得到了以下内容:

{"status":500,"validationFailed":true,"message":"Empty data"}

你能帮我处理这个吗

您忘记在$.ajax.

中设置数据