这是我的JS文件
function save()
{
var hist = document.getElementById("hist").value;
var mission = document.getElementById("mission").value;
var params = "history=" + hist+ "&mission=" + mission;
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function()
{
if (this.readyState == 4 && this.status == 200 )
{
UserAccountInfo = this.responseText;
alert(UserAccountInfo);
}
}
xmlhttp.open("POST","savecompany.php",true);
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlhttp.send(params);
}
历史消息将为
由工程师Anas El-Menoufi创立,拥有8年的经验 W.C Heraus GmbH的市场顾问和业务发展经理 在非洲和中东。自1983年以来,MYMSA被认可为 埃及市场是埃及和中东和北非地区首批公司之一 专门提供解决方案,仪器,咨询服务 以及用于初级和次级测试的售后服务以及 许多领域的校准实验室。
任务将是
旨在通过提供最佳服务来赢得客户的信任和满意 咨询,提高市场知名度以及与之合作 世界上最好的制造商。
我们认为,建立内部能力将反映在 市场。
将这些变量发送到PHP文件后
历史成为
由工程师Anas El-Menoufi创立,拥有8年的经验 W.C Heraus GmbH的市场顾问和业务发展经理 在非洲和中东。自1983年以来,MYMSA被认可为 埃及市场是埃及和中东和北非地区首批公司之一 专门提供解决方案,仪器,咨询服务 以及主要的售后服务
和任务
旨在赢得客户的信任
只有!!! 为什么会这样???以及如何发送整个大型邮件?
这是我的PHP文件
<?php
require "conn.php";
$history= $_POST["history"];
$mission = $_POST["mission"];
$sql = " UPDATE company SET history ='$history' , mission='$mission' where id='1'";
mysqli_query($conn,$sql);
echo "done";
mysqli_close($conn);
?>
答案 0 :(得分:4)
首先,您应该将此类数据发布到POST请求的正文/有效负载中,但这就是您当前的解决方案不起作用的原因:
如您所见,您的文本在文本中的“&”符号之前停止-这是因为&符号是附加另一个查询参数的URL组件-需要将其编码为%26,幸运的是JavaScript encodeURIComponent
可以做到这一点。
在创建params变量时,可以像这样使用encodeURIComponent
:
var params = "history=" + encodeURIComponent(hist) + "&mission=" + encodeURIComponent(mission);
答案 1 :(得分:0)
您可以将数据转换为php上的Javascript可以理解的内容。
var params = ["history" : hist,
"mission" : mission];
params = JSON.stringify( params );
然后在php端使用:
$history = $_POST['history'];
$mission = $_POST['mission';