我正在尝试通过无效的ajax更新一个字段。下面是代码
Jquery的:
<script type="text/javascript">
function changeStatus(changeStatus,userId) {
var data="changeStatus="+changeStatus+"&userId="+userId;
$.ajax({
type:'GET',
url:'myfunctions.php',
data:data,
success:function() {
alert('Updated');
}
});
}
</script>
PHP:
<?php
function changeStatus($changeStatus,$userId){
$userId=$_GET['userId'];
$userStatus=$_GET['userStatus'];
switch($userStatus) {
case "1":
$changeStatus=0;
break;
case "0":
$changeStatus=1;
break;
default:
$changeStatus="";
}
$Query="UPDATE blog_users SET blog_user_status='$changeStatus' WHERE blog_user_id='$userId'";
$Result=mysql_query($Query);
}
if(isset($_GET['userId']) && isset($_GET['userStatus'])) {
changeStatus($changeStatus,$userId);
}
?>
以下是我如何调用该函数:
<a href="#" onclick="changeStatus($changeStatus,$userId)"><?php echo $action; ?></a>
只是为了让我知道我只在php中通过href传递get值来尝试这个。它正在工作......
答案 0 :(得分:0)
<a href="#" onclick="changeStatus(<?php echo $changeStatus; ?>,<?php echo $userId; ?>)"><?php echo $action; ?></a>
尝试使用
答案 1 :(得分:0)
所以你没有使用正确的get变量。在javascript中,您将获取变量设置为changeStatus
和userId
var data="changeStatus="+changeStatus+"&userId="+userId;
然而,在您的PHP中,您获得了userId
和userStatus
$userId=$_GET['userId'];
$userStatus=$_GET['userStatus'];
所以永远不会设置$userStatus
,因为$_GET['userStatus']
由于它是空的,您的查询将始终如下:
"UPDATE blog_users SET blog_user_status='' WHERE blog_user_id='$userId'";