簡體   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