为了账号安全,请及时绑定邮箱和手机立即绑定

通过ajax将Javascript变量传递给PHP

通过ajax将Javascript变量传递给PHP

qq_遁去的一_1 2019-11-18 10:41:55
我试图将变量从我的javascript代码传递到服务器端PHP代码。我知道这必须通过ajax调用来完成,我相信我已经正确地完成了,但是访问变量是从我的ajax传递到我的php时遇到的麻烦,因为我是php的新手。到目前为止,这是我的代码:$(document).ready(function() {            $(".clickable").click(function() {                var userID = $(this).attr('id');                //alert($(this).attr('id'));                $.ajax({                    type: "POST",                    url: 'logtime.php',                    data: "userID=" + userID,                    success: function(data)                    {                        alert("success!");                    }                });            });        });<?php //logtime.php$uid = isset($_POST['userID']);//rest of code that uses $uid?>我正在尝试将我的JavaScript变量“ userID”传递给php($ userID),但是在此过程中出现了问题。谢谢您的帮助!
查看完整描述

3 回答

?
哔哔one

TA贡献1854条经验 获得超8个赞

由于您没有使用JSON作为数据类型,而没有AJAX调用,因此我认为您无法访问该值,因为您给出的PHP只会是true或false。isset是一项功能,用于检查某物是否存在并具有值,而不是访问该值。


将您的PHP更改为:


$uid = (isset($_POST['userID'])) ? $_POST['userID'] : 0;

上一行将检查post变量是否存在。如果确实存在,它将设置$uid为等于过帐值。如果不存在,则将其设置$uid为0。


稍后在代码中,您可以检查的值$uid并做出相应的反应


if($uid==0) {

    echo 'User ID not found';

}

这将使您的代码更具可读性,并遵循我认为是处理PHP中数据的最佳实践。


查看完整回答
反对 回复 2019-11-18
?
蓝山帝景

TA贡献1843条经验 获得超7个赞

要测试POST变量是否具有一个名为“ userID”的元素,最好使用array_key_exists ..实际测试数组键的存在,而不是检查其键值是否已设置..细微且可能仅是语义上的差异,但是它确实提高了可读性。


现在,根据是否设置了$ __ POST ['userID'],将$ uid设置为布尔值...如果我从内存中回想起,您可能想尝试...


$uid = (array_key_exists('userID', $_POST)?$_POST['userID']:'guest';

然后,您可以使用可识别的“来宾”用户,并使您的代码更具可读性:)


resetset()的另一点,即使它不太可能在这种情况下应用,也要记住,如果您以后不想被发现……数组元素可以合法地设置为NULL……即它可以存在,但尚未有人居住,这可能是有效,可接受且可测试的条件。但是:


a = array('one'=>1, 'two'=>null, 'three'=>3);

isset(a['one']) == true

isset(a['two']) == false


array_key_exists(a['one']) == true

array_key_exists(a['two']) == true

Bw确保您知道要用于哪个目的的功能。


查看完整回答
反对 回复 2019-11-18
  • 3 回答
  • 0 关注
  • 751 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信