为了账号安全,请及时绑定邮箱和手机立即绑定

使用POST方法使用Ajax从javascript向PHP发送大量字符

使用POST方法使用Ajax从javascript向PHP发送大量字符

PHP
富国沪深 2021-07-03 13:08:10
这是我的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 在担任非洲和中东 WC Heraus GmbH 的营销顾问和业务发展经理 8 年经验后创立。自 1983 年以来,MYMSA 在埃及市场上被公认为埃及和 MENA 地区最早的公司之一,专门为许多领域的初级和二级测试和校准实验室提供解决方案、仪器、咨询和售后服务。和使命将是旨在通过提供最好的咨询、提高市场知名度以及与世界各地最好的制造商合作来获得客户的信任和满意。我们相信,建立我们的内部能力将反映市场。将这些变量发送到 PHP 文件后历史变成了由工程师 Anas El-Menoufi 在担任非洲和中东 WC Heraus GmbH 的营销顾问和业务发展经理 8 年经验后创立。自 1983 年以来,MYMSA 被埃及市场公认为埃及和 MENA 地区首批专门为初级产品提供解决方案、仪器、咨询和售后服务的公司之一。和使命旨在赢得客户的信任仅有的!!!为什么会这样???我怎样才能发送整个大消息?这是我的 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);?>
查看完整描述

2 回答

?
一只斗牛犬

TA贡献1784条经验 获得超2个赞

首先,您应该在 POST 请求的正文/有效负载中发布此类数据,但这就是您当前的解决方案不起作用的原因:

如您所见,您的文本就在文本中的“&”符号之前停止 - 这是因为 & 符号是附加另一个查询参数的 URL 组件 - 这需要编码为 %26,幸运的是 JavaScript 有一个函数要做到这一点,encodeURIComponent

创建 params 变量时,您可以encodeURIComponent像这样使用:

var params = "history=" + encodeURIComponent(hist) + "&mission=" + encodeURIComponent(mission);



查看完整回答
反对 回复 2021-07-09
?
守着星空守着你

TA贡献1799条经验 获得超8个赞

您可以将数据转换为 php 上的 Javascript 可以理解的内容,即


var params = ["history" : hist,

              "mission" : mission];

params = JSON.stringify( params );

然后在 php 端使用:


$history = $_POST['history'];

$mission = $_POST['mission';


查看完整回答
反对 回复 2021-07-09
  • 2 回答
  • 0 关注
  • 126 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信