ajax返回值中,在首位会出现一些莫名其妙的空行


我使用的是wordpress,不知道为什么返回的时候会有一些空行出现。

Jquery


 $.ajax({
        type:'post',
        url:localcurrent.ajax_url,
        data:favorite_data,
        success:function(response){
            alert(response);
        }
    });

PHP


 function favorite_post(){
    $post_id = $_POST["post_id"];
    $user_id = get_current_user_id();
    $favorite = favorite_get($post_id,1);
    //  判断用户是否已经收藏该文章
    if(!in_array($user_id, $favorite)){
        //  用户未收藏此项,要添加收藏
        favorite_add($user_id,$post_id);
        echo 'add';
        exit;
    }else{
        //  用户已收藏此项,要移除收藏
        favorite_del($user_id,$post_id);
        echo 'remove';
        exit;
    }
    echo 'error';
    exit;
}
add_action('wp_ajax_favorite_post', 'favorite_post');

图片描述

jquery php Ajax wordpress JavaScript

正义的米疙瘩 8 years, 10 months ago

我觉得有两种情况:
1、就是楼上说的,PHP 模板里面的一些东西。
2、返回的数据带BOM 的utf-8格式的文本,也会出现这种情况。

HEROMAN answered 8 years, 10 months ago

用浏览器抓包看看

foxnake answered 8 years, 10 months ago

是不是php的模板文件顶部的 删除了php标签啥的? 我之前也是这样 ,排查了好久,后来才发现是我删除了模板文件顶部的一些东西

没穿内裤冲刺 answered 8 years, 10 months ago

Your Answer