我無法獲得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