我无法获得ajax运行,因为测试字符串不显示在html中。 服务器工作正常,jQuery是最新的。 该代码似乎能够注册点击并阻止默认行为,但它并未完成ajax调用。Ajax jQuery调用没有完成并返回字符串
//// index.php ////
<a id='id' href=''>Test</a>
<script>
$(document).ready(function()
{
$('#id').click(function(event)
{
event.preventDefault();
$.ajax(
{
type:'POST',
url:'ajax.php',
data:'test',
dataType:'json',
success:function(d)
{
$('#id').html(d.msg);
}
});
});
});
</script>
//// ajax.php ////
<?php
class ajax
{
function test()
{
$t = array();
$t['msg'] = 'Test';
return json_encode($t);
}
}
$ajax = new ajax;
echo $ajax->test();
?>
我认为问题出在你的函数test()中:你返回一个空数组$ t。所以改变第二行$ return ['msg'] ='Test';到$ t ['msg'] ='测试';.假设一般的Ajax调用可以正常工作,否则有关ajax调用返回的更多信息会很好。 – Robin
我做了一个关于那个部分的编辑,我错了。你能否指定你认为有用的信息?以上是ajax.php中的所有代码。 – aaaaaa4422
你有没有在浏览器中调用php文件本身?它会返回正确的结果吗?如果是的话,在JavaScript中调用ajax函数时显示浏览器的控制台? – Robin