Ajax:php部分在一个函数中需要引号,但在另一个函数中不需要引号

时间:2018-07-18 18:47:08

标签: php ajax

我有两个不同的函数,都可以执行Ajax调用。

在第一个中,我为变量数据分配了一个字符串:我插入php Session变量的部分不在引号中

function insertMemberActivities()
{
    var data = "memId=" + <?php echo $_SESSION['memberId'];?> + "&acts=" + <?php echo $_GET['actID'] ;?> + "&comments=" + document.getElementById('comments').value;

    $.ajax({
        dataType: 'json',
        url: 'json-responses.php?fct=insertMemberActivities',
        data: data,
        cache: false,
        success: sendMailToMember(),
        // error: myCallbackError
    });
};

在第二个看起来相似的地方,但是我必须在php部分周围添加引号,否则它将不起作用

function sendMailToMember()
{
    var data = "eventName=" + "<?php echo $_GET['eventName'];?>" +
               "&userEmail=" + "<?php echo $_SESSION['user'] ;?>" + 
               "&first=" + "<?php echo $_SESSION['first']; ?>" + 
               "&last=" + "<?php echo $_SESSION['last']; ?>";

    $.ajax({
        dataType: 'json',
        url: 'stcg-json-responses.php?fct=emailSendToVolunteer',
        data: data,
        cache: false
    });
}

有人知道为什么会这样吗?

1 个答案:

答案 0 :(得分:0)

某些变量仅由字符和数字组成。那些不需要引号

其他人有特殊字符,例如@或。或空格。在这种情况下,表达式必须在引号之间。