微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用POST通过AJAX将HTML表行传递给PHP

我有一个带有包含查询结果的HTML表的页面.
在每一行的旁边,都有一个按钮,单击该按钮时,将显示一个带有小型HTML表单的灯箱,用户可以在其中输入评论.

用户单击此表单上的Submit按钮时,它将随后发送该行中包含的数据(即,如果可能的话,将每个单元格值作为数组)以及对脚本的注释,该脚本将它们插入数据库中.

完成后,会出现一则小消息,提示用户,随着灯箱消失,用户可以返回表格.

我的问题是将数据传输到将对其进行处理的PHP脚本.
AJAX JavaScript可以正常运行,只是我不知道如何发送数据.

这是代码

function getoutput() {
  //Get number of selected table row
  var i = document.getElementById('rowclicked').value;
  //Get the table
  var table = document.getElementById('table');
  //Get the comment
  var comm = document.getElementById('comment').value;
  var ajax = getRequest();
  ajax.onreadystatechange = function(){
      if(ajax.readyState == 4){
          alert(ajax.responseText);
      }
  }
  ajax.open("POST", "functions_comm.PHP", true);
  ajax.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
  //Only try to send the table row for Now
  ajax.send(table.rows[i]);
}

如果我在“ functions_comm.PHP”,“ alert(ajax.responseText);”中放入“ PHP echo” test“;”显示“测试”,以便该部分正常工作.
但是,如果尝试“ print_r($_ POST)”,它将返回一个空数组,我认为这意味着“ ajax.send(table.rows [i]);”未传递任何数据.

我如何将数据从表的第i行传递到PHP脚本?

谢谢.

解决方法:

>您无法发送DOMElement的实例.您只能发送一个字符串,因此,如果要发送该元素的文本,请使用其innerHtml属性.
>邮件正文应使用URL编码(当作为application / x-www-form-urlencoded发送时).

ajax.send(“ tableData =” encodeURI(table.rows [i] .innerHtml));;

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐