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'];}
So selected 显示正确,但是如果我在第二个 php 中检查 $data,它是错误的。
这似乎是服务器使用不同行尾类型的问题。 Unix 系统(Linux、BSD 等)默认使用 \n
(LF
),MacOS 使用 \r
(CR
),其中 Windows系统使用 \r\n
(也称为 CRLF
)。您可能需要将其中一台服务器上的字符编码更改为另一台服务器。
CR
= 马车return
LF
= 换行
您可以使用仅将 CRLF 或 CR 替换为 LF 的代码。 This page 展示了如何简单地实现这一目标。
我想从一个 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'];}
So selected 显示正确,但是如果我在第二个 php 中检查 $data,它是错误的。
这似乎是服务器使用不同行尾类型的问题。 Unix 系统(Linux、BSD 等)默认使用 \n
(LF
),MacOS 使用 \r
(CR
),其中 Windows系统使用 \r\n
(也称为 CRLF
)。您可能需要将其中一台服务器上的字符编码更改为另一台服务器。
CR
= 马车return
LF
= 换行
您可以使用仅将 CRLF 或 CR 替换为 LF 的代码。 This page 展示了如何简单地实现这一目标。