php - ajax回调不起作用

标签 php javascript jquery html

我似乎无法从中获得回调,但它得到了一个简单测试的响应。任何人都知道为什么它不按我的意愿行事

<script type="text/javascript">
$(document).ready(function(e) {
    $("button").click(function() {
        var msg = $("#txt").val();
        $.post(
            "http://localhost/bot.php",
            {msg: msg},
            function(data,status) {
                $("p").text(data);
            }
        );
    });
});
</script>

PHP,谁能推荐一个好的 JavaScript 工具来帮助我发现错误?

<?php

class ai
{
    private $msg;

    public function __construct($msg)
    {
        $this->msg = $msg;
    }

    public function respond()
    {
        switch($this->msg)
        {
            case "hi":
                echo "Hello Mr Brown How are You";
                break;
            case "fine":
                echo "Good to hear Did you know Zanda hard Coded me?";
                break;
            case "im fine":
                echo "Good to hear Did you know Zanda hard Coded me?";
                break;
            default:
                echo "??????????????????????????????" .
                     "That means i was extra rush prototype.......i cant answer that";
        }
    }
}

$talk = new ai($_POST['msg']);
$talk->respond();

?>


<div class="box">
<p>text</p>
<textarea id="txt"></textarea>
<button>click</button>
</div>

有尽可能短的html

最佳答案

这里也可以尝试将 $.post 更改为 $.ajax,这样您就可以指定错误回调。 $.get$.post 等只是 $.ajax 的缩写。尝试这样的事情:

("button").click(function() {
    var msg = $("#txt").val();
    $.ajax(
        url: "http://localhost/bot.php",
        data: {msg: msg},
        dataType: 'jsonp',
        success: function(data,status) {
            console.log(data, "returned with status:", status);
        },
        error: function(obj, status, error){
            console.log("Error!", obj, status, error);
        }
    );
});

仅仅因为您收到 200 响应并不意味着一切正常。就是说 POST 成功了。您需要检查响应文本以查看是否返回了任何错误。

编辑:在 dataType: 'jsonp' 中添加请求。

关于php - ajax回调不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18206035/

相关文章:

php - 拉拉维尔 5.7 : Trying to get property 'role' of non-object

javascript - wordpress:有没有办法 Hook 操作/过滤器调用

javascript - 表示 JSON 的最佳方式,它的数组中的每个元素都有重复键

javascript - 无法从 JavaScript 函数重置全局计时器

javascript - 当用户在此工作 javascript 评论框中提交评论时,如何添加用户图像和名称

php - 使用插入值数组执行准备好的语句不起作用

php - MySQL 和 PHP 转义反斜杠

php - jQuery $.post 处理 JSON 响应

javascript - 如何找到每个下拉菜单的长度?

jquery - 如何使用 jQuery 在新生成的代码中进行编辑?