我有HTML5表,每行包含名称,地址和参考号。每行还有一个按钮,当用户点击时我需要将参考号捕获为javascript变量并将其发送到php文件,以便我能够使用这个唯一的引用来搜索我的数据库。
下面的代码片段显示了单击按钮时发生的情况,发送数据的process()函数以及创建xmlHttp对象的函数。
问题是即使它成功捕获了引用号变量,它也不会将它传递给php文件。我知道连接没问题,因为我已经在就绪状态1,2,3,4和200设置了警报 - 所有这些都没问题。
我也知道php文件中的变量永远不会通过使用isset()进行测试来设置。
困惑并浪费了很多时间:(
感谢您的光临。
var referenceNumber;
jQuery('.getrowdata').on('click', function() // called when button in html table is clicked
{
var $row = jQuery(this).closest('tr');
var $columns = $row.find('td');
var value;
jQuery.each($columns, function(i, item)
{
value = item.innerHTML;
if(i < 6)
{
selectedRowArray.push(value); // adds each element of the table to the array
}
referenceNumber = selectedRowArray[5]; // the unique ref that i need to query the dbase
}
);
createXmlHttpRequestObject(); // function given below
process(); // function given below
window.open("myphpfile.php"); /* file that will use the newly set ref number to query the dbase and display the query results */
});
function process()
{
xmlHttp.open("GET","myphpfile.php?phpref="+referenceNumber,true); /*transfer the js var to php var*/
xmlHttp.send(null);
}
function createXmlHttpRequestObject()
{
var xmlHttp;
if(window.XMLHttpRequest)
{
xmlHttp = new XMLHttpRequest();
}
else
{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");// the user is using IE
}
return xmlHttp;
}
/*php code below as requested*/
echo '<?xml version="1.0" encoding = "UTF-8" standalone = "yes" ?>';
$phpref;
$phpref = $_GET['phpref'];
if(isset($phpref))
{
echo $phpref;
}
else
{
echo "NOT SET!";
}