gpt4 book ai didi

php - 更改复选框时的 ajax 发布表单 jquery ajax 不工作

转载 作者:搜寻专家 更新时间:2023-10-31 21:14:42 25 4
gpt4 key购买 nike

我正在尝试在更改复选框时创建一个表单提交我的代码如下。 .我的问题是什么都没有发生

gotofile.php

文件但是//做某事on the sucess 函数被执行

jquery:

$("#container input[type=checkbox]").change(function(e){
if($(this).attr('checked'))
{

var cnType=$(this).attr("id");

$.ajax({
type: "POST",
url: "gotofile.php",
data: "typID="+cnType ,
cache: false,
success: function(){
//do something
}
});
}
});

PHP:

include '../dbconnection/dbconfig.php';


$typeID=$_POST['typID'];
$qryConnections="INSERT INTO ...";
$rslt1 = mysql_query($qryConnections);

html

<form id="cnct" method="POST">
<div id="container" style="">
<ul style="list-style: none;">
<li><input type="checkbox" id="1" />A</li>
<li><input type="checkbox" id="2" />B</li>

</ul>
</div></form>

任何人都可以帮助我我做错了什么吗?

最佳答案

一些安全问题

请始终记住,您的 JS 对导航到您网站的任何人都是可见的。使用:

data : "typID="+cnType

会让我认为 typID 是您的 SQL 中的字段。您没有 CSRF 过滤器,因此我可以编写一个 ajax 脚本来欺骗有效请求并从外部位置更新您的所有字段。需要记住的一点是,我建议您阅读 CSRF 或跨站请求伪造。

为什么你的脚本不起作用

如果成功函数被触发,那么脚本已经运行。通过在 PHP 中输​​出 $_POST['typID'] 的值来调试它。如果发送正确,您将在控制台中看到变量值。

除此之外,让您的 PHP 为您的成功函数回显 JSON 响应以验证一切顺利,这总是好的。

echo json_encode(array('response' => 'success'));

('response' => 'failed') 或您需要的任何内容。然后,您可以在 success 函数中评估 JSON。

希望对您有所帮助。

关于php - 更改复选框时的 ajax 发布表单 jquery ajax 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11683128/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com