首页 > 解决方案 > Ajax:php 部分在一个函数中需要引号,但在另一个函数中不需要

问题描述

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

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

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
    });
}

有谁知道为什么会这样?

标签: phpajax

解决方案


一些变量只包含字符和数字。那些不需要引号

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


推荐阅读