我删除了我的代码,使这个问题更简单一些。
这是我在文件顶部的PHP ...
/u
然后我在同一页面上有这个脚本......
if (isset($_POST['action'])) {
$field = $_POST['db_field'];
$value = $_POST['db_value'];
$fields=array('points'=>($value));
$db->update('teams',$field,$fields);
}
然后我有2个超级简单的按钮用于测试目的...... 点击这里-1 点击这里-2
目前,它基本上将null传递给数据库并给我一条成功消息。
如果我改变......
<script type="text/javascript">
function performAjaxSubmission() {
$.ajax({
url: 'points3.php',
method: 'POST',
data: {
action: 'save',
field: $(this).attr("db_field"),
val: $(this).attr("db_value")
},
success: function() {
alert("success!");
}
});
return false; // <--- important, prevents the link's href (hash in this example) from executing.
}
jQuery(document).ready(function() {
$(".linkToClick").click(performAjaxSubmission);
});
</script>
要...
$field = $_POST['db_field'];
$value = $_POST['db_value'];
它将数字234放在数据库233的正确列中,如我所愿。所以基本上该链接中的任何内容都没有正确传递到帖子,但我不知道如何解决它。任何帮助都会很棒。
答案 0 :(得分:0)
您在js中的变量名是:
**field**: $(this).attr("db_field"),
**val**: $(this).attr("db_value")
所以在php文件中使用:
$_POST['field'];
$_POST['val'];
获取这两个变量的值。
答案 1 :(得分:0)
将您的数据变量更改为此
data: {
action: 'save',
db_field: $(this).attr("db_field"),
db_val: $(this).attr("db_value")
},
它不会发送空值