我在一个函数中有以下 ajax 调用,它是在点击事件时调用的。
$.ajax({
url:"server.php",
type:'GET',
data: {'action':'addEvent'},
success: function(response)
{
if(response)
{
alert("200 ok");
}
},
error: function(xhr, ajaxOptions, ThrownError)
{
alert("Error:" + ThrownError);
$("#output").text("Error: "+ThrownError);
}
});
php端如下
if(isset($_GET["action"]))
{
$action = $_GET["action"];
if($action == 'addEvent')
{
echo("ping");
}
}
现在它抛出一个错误。但是我得到的错误信息是:
确切地说,我得到错误:
这让我发疯。
我还把我的 document.ready 放进去,让它充当某种 ping,它工作得很好
最佳答案
看看this jsFiddle .我遇到了和你一样的错误。
为什么会出现这种情况:单击链接并发送 ajax 请求。但默认操作不会停止,浏览器导航到 href
中指定的 url 并停止任何 JS 执行。 AJAX 调用也停止了。
为了防止这种情况发生,您应该这样做:
$('a').click(function(e) {
$.ajax({
url:"server.php",
type:'GET',
data: {'action':'addEvent'},
success: function(response) {
if(response) {
alert("200 ok");
}
},
error: function(xhr, ajaxOptions, ThrownError) {
alert("Error:" + ThrownError);
$("#output").text("Error: "+ThrownError);
}
});
e.preventDefault();//this will not allow browser to move to a different URL
return false; //alternative to e.preventDefault().
});
可能你有类似的问题,但很难注意到,因为你的元素导致简单的页面重新加载,浏览器导航到同一页面。
关于php - 向 php 服务器发送 ajax 调用返回空错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13138853/