2015-08-31 19 views
0

我不知道爲什麼每當我進行AJAX調用時,爲什麼retInfo就是"\r\n\r\n0"爲什麼我將「 r n r n0」傳遞到我的成功函數中?

function getEightMore () 
{ 
    // show loading icon 
    $('#load-more-row img').css('visibility', 'visible'); 

    // get the next 8 or fewer projects 
    formdata = new FormData(); 
    formdata.append('numItemsLoaded', numItemsLoaded) 
    formdata.append('workType', workType) 
    formdata.append('action', 'get_eight_more'); 
    $.ajax({ 
     url: ajaxurl, 
     type: 'POST', 
     async: false, 
     data: formdata, 
     success: function (retInfo) { 
      console.log(JSON.stringify(retInfo)); // test     
     }, 
     cache: false, 
     contentType: false, 
     processData: false 
    });  

    //$('#load-more-row img').css('visibility', 'hidden'); 
} 

服務器端代碼:

// make AJAX handler for getting more projects or case studies 
add_action('wp_ajax_get_eight_more', 'get_eight_more'); 

function get_eight_more () 
{ 
    $workType = $_POST['workType']; 
    $numItemsLoaded = $_POST['numItemsLoaded']; 
    global $wpdb; 
    $nstr = strval(intval($numItemsLoaded) + 1); 
    $nextEightRows = $wpdb->query('SELECT id,name,sumsmall FROM ' . $_POST['workType'] . 'ORDER BY postdate LIMIT 8, ' . $nstr); 
    echo(json_encode($nextEightRows)); 

} 

我什至不知道它有什麼與我的PHP函數get_eight_more ()的身體,因爲我試圖改變它的東西一樣die(json_encode("This is a test"));,我仍然收到"\r\n\r\n0"。那個神祕的字符串從哪裏來?這是什麼意思?

+0

這意味着兩個新線和'0'。 – Teemu

+0

@Teemu那究竟是在做什麼呢? –

+0

這些雙換行符可能很容易來自腳本/模板文件中的空白,在關閉和打開PHP標記之間。 – CBroe

回答

-1

你必須使用die();後回顯你的迴應(這是0是從)。

echo json_encode($nextEightRows); 
die(); // or wp_die(); 
+0

我把它改成了'die',而'0'仍然存在 –

+0

爲什麼你現在要用die? –

+0

來自WP codex示例'wp_die(); //這需要立即終止並返回正確的響應 –

相關問題