繁体   English   中英

Ajax发送并添加隐藏字符

[英]Ajax send and adds hidden characters

我想从一个PHP站点向另一个站点发送内容。 在第一个站点上,一切似乎都很好。 字符串看起来像

--show =“ author,book,text / n

但是当我收到后检查字符串时,它看起来像

--show =“ author,book,text / r / n

存在问题,它最终以某种方式添加了/r

第一个php:

$(document).ready(function() {
    $("#column_button").click(function(){
        var selected = [];
        $.each($("input[name='checkbox_columns']:checked"), function(){            
           selected.push($(this).val());
        });

        var data = new FormData();
        data.append("data", "--show=" + selected);
        //alert(JSON.stringify(selected));
        var ajax = (window.XMLHttpRequest) ? new XMLHttpRequest() : new activeXObject("Microsoft.XMLHTTP");
        ajax.addEventListener("load", statusHandler2, false);
        ajax.open( 'post', 'showParameter.php', true );
        ajax.send(data);
        _("column_button").disabled=true;        
    });
});

第二个php:

if(!empty($_POST['data'])){
    $data = $_POST['data'];}

所以选择显示它正确,但是如果我在第二个php中检查$ data,那是错误的。

当服务器使用不同的行尾类型时,这似乎是一个问题。 Unix系统(Linux,BSD等)默认情况下使用\\nLF ),MacOS使用\\rCR ),而Windows系统使用\\r\\n (也称为CRLF )。 您可能需要将其中一台服务器上的字符编码更改为另一台。

CR =回车LF =换行

您可以使用仅用LF代替CRLF或CR的代码。 此页面显示了如何简单地实现这一目标。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM