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