2012-01-26 96 views
0

我想在我的WordPress主題中第一次整合ajax。這是我的第一次嘗試,我研究了它的語法和工作原理。到目前爲止,我的腳本被正確執行,但沒有任何迴應。

$.get請求

$(document).ready(function(){ 
$.get('Ajax-nao.php',{cat:12,ponum:5,panum:1},function(data) { 
alert('data sent'+ data); 
}); 
}); 

的Ajax的nao.php

$categoryid = $_GET['cat']; 
$postnum = $_GET['ponum']; 
$pagenum = $_GET['panum']; 

$args = array (
     'cat' => $categoryid, 
     'posts_per_page' => $postnum, 
     'paged' => $pagenum 
); 
$q = new WP_Query($args); 
while($q->have_posts()) : $q->the_post(); 
    $post_excerpt = get_the_excerpt(); 
    $wrapper = '<h2 class="column-titles">' . get_the_title() . '</h2>' . '<p>' . $post_excerpt . '</p>'; 
    echo $wrapper; 
endwhile; 

home.php < - 凡結果將顯示。

<div id="social-bar"> 
    <div id="other-posts" class="just-float-left"> 

    <div id="other-Posts-container"> 

    </div> 
    </div> 
</div> 

任何人都可以幫我指出我的錯誤嗎?

+0

是被調用的成功函數嗎? – Khodor

+1

'Ajax-nao.php'顯示什麼?您是否嘗試過查看螢火蟲並查看正在發出的請求和服務器響應? –

+1

您是否嘗試過直接從表單(不使用AJAX)從POST調用PHP?它可以通過從腳本獲取echo'd響應來幫助您解決問題。 – Prusprus

回答

1

WP_Query($args)返回空集。

  echo $wrapper; 
endwhile 

到:

在PHP腳本結束它改變

echo $wrapper; 
    exit(); 
endwhile 
echo "No results found!"; 

,你將獲得保證,如果有發現任何數據。

+0

同意,通常很好的方法是迴應一些故障狀態,以保證ajax調用甚至能夠在後端處理正確的腳本。 – lewsid

+0

還沒有。它也沒有返回「找不到結果!」回聲。 –

+0

然後可能是因爲它沒有正確調用腳本。 PHP腳本的路徑與腳本或標記調用相關,所以如果它不在jquery所在的文件夾中,則需要修改路徑。 – Prusprus