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

在JavaScript中,开发人员试图通过AJAX将HTML表格的一行数据和用户评论发送到PHP脚本进行处理并存入数据库。问题在于数据未能成功传递,PHP的$_POST数组为空。解决方案涉及正确获取表格数据并以URL编码的形式发送。
摘要由CSDN通过智能技术生成

我有一个带有包含查询结果的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));;

标签:ajax,post,javascript,php

来源: https://codeday.me/bug/20191123/2064097.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值