我有这些jQuery代码。
我生成6位数的随机数,每次单击按钮时,我都需要将其传递给.post序列化。我想在jQuery click函数内部生成数字。
以某种方式我无法将“ var tac_no” 的值传递到.post序列化中。
这是我的jQuery代码
$('#request_code').click(function(e){
var tac_no = Math.floor(100000 + Math.random() * 900000);
var data_tac = $("#form-tac").serialize()+"&type="+"updateTable";
$.post("php/ajax-request-tac.php",data_tac).done(function( data ){
if(data==true)
{
alert('Request Success');
}
else if(data==false)
{
alert('Request failed');
}
});
return false;
});
这是我的php代码
<?php
require 'conn.php';
function oracle_escape_string($str)
{
return str_replace("'", "''", $str);
}
if((isset($_POST['type'])) && ($_POST['type']=='updateTable'))
{
$sqlNextSeq = "SELECT SEQ_TAC.nextval AS RUNNO FROM DUAL";
$stid2 = oci_parse($ociconn,$sqlNextSeq);
oci_execute($stid2);
$row = oci_fetch_array($stid2, OCI_RETURN_NULLS);
$query = "insert into table
(
ID,
TAC_NO
)
values
(
'".$running_no."',
'".oracle_escape_string($_POST['tac_no'])."',
)
";
oci_execute(oci_parse($ociconn, $query));
echo true;
}
?>
任何想法该怎么做?
感谢有人可以帮助我。谢谢。
答案 0 :(得分:1)
我个人会在PHP中生成随机数,但我认为问题在于您没有使用post()
函数将数据正确地传递到PHP中:
$.post("php/ajax-request-tac.php",data_tac).done(function( data ){
相反,您应该将其作为对象传递:
$.post("php/ajax-request-tac.php",{data_tac: data_tac, tac_no: tac_no}).done(function( data ){
答案 1 :(得分:0)
将该数字直接附加到tac_no,
$('#request_code').click(function(e) {
var tac_no = Math.floor(100000 + Math.random() * 900000);
var data_tac = $("#form-tac").serialize() + "&type=" + "updateTable"+"&tac_no="+tac_no;
$.post("php/ajax-request-tac.php", data_tac).done(function(data) {
if (data == true) {
alert('Request Success');
} else if (data == false) {
alert('Request failed');
}
});
return false;
});
无论使用哪种前端代码,用户始终可以看到您发送的内容,因此不会涉及安全性。