如何将javascript变量传递给Ajax脚本
How do I pass javascript variable to Ajax script?
在一个html按钮中,我有一个onclick事件:
onclick='javascript:updateStatus(59)'
然后我有这个功能
function updateStatus(){
$.ajax({
type: 'post',
url: '/update-status.php',
success: function(data){
// callback function
}
});
return false;
}
这是update-status.php
$sql = "UPDATE requests SET status='Closed' WHERE requestid=$requestid";
$updatestatus = mysqli_query($con, $sql);
if (!$updatestatus) {
die("Database query failed: " . mysqli_error($con));
} else {
return "success!";
}
最终,我希望将原始onclick事件中的数字(在本例中为59,但可以是任何数字)传递到update-status.php中的$requestid变量中。
实现这一目标的最佳/适当方式是什么?
经过多次谷歌搜索后,发现函数中使用了"data",对不起。
由于您使用的是JQueryAJAX函数,只需在配置对象中使用另一个参数data
即可。您还缺少该函数的一个参数。
function updateStatus(i){
$.ajax({
type: 'post',
data: 'requestid='+i,
url: '/update-status.php',
success: function(data){
// callback function
}
});
return false;
}
你也可以创建一个地图并发送地图,就像一样
...
data: {"requestid" : i},
...
您的服务器端代码应该更新。您不希望在不首先对客户端的输入进行清理的情况下使用它。这会给SQL注入攻击带来威胁。
例如,如果requestid的值是怎么办
1 or '1'='1' --
或
1; drop table requests
首先,在javascript函数中获取传入的参数,并将其发送到PHP脚本,如下所示:
function updateStatus(id){
$.ajax({
type: 'post',
url: '/update-status.php',
data: {id: id},
success: function(data){
}
});
return false;
}
在您的PHP中,通过$_POST['id']
访问它。但是,请确保转义该值以防止SQL注入攻击。
$requestid = $_POST['id'];
相关文章:
- 如何将javascript变量传递给Ajax脚本
- 运行AJAX脚本
- 从Ajax脚本重定向Javascript页面
- 将消息从控制器传递到视图中的 AJAX 脚本
- jQuery和Ajax脚本解释
- Ajax脚本管理器阻止了jquery
- Ajax脚本让我的服务器忙得不可开交.让其他人来做这件事
- 为什么这个ajax脚本不能在wamplocalhost上工作
- ajax脚本使用onClick提交表单时出现问题
- 在ajax html返回中调用ajax会阻止第一个ajax脚本进一步工作
- 使用另一个 ajax 脚本更改页面内容后,AJAX 脚本不起作用
- 重置 onclick,以便 ajax 脚本不使用值
- 我的 AJAX 脚本没有给出任何输出
- AJAX 脚本在响应时更改导航
- 如何组合我的 AJAX 脚本和切换脚本
- Javascript/AJAX 脚本,用于检查 PHP 页面是否输出 1
- 将单选按钮句柄添加到 AJAX 脚本
- 我的 ajax 脚本将正确运行一次,但它不会再次运行
- 为什么这个非常简单的 AJAX 脚本不起作用
- Ajax 脚本仅在收到的 XML 足够大/需要足够长的时间来加载时才有效