php - 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
});
}
有谁知道为什么会这样?
解决方案
一些变量只包含字符和数字。那些不需要引号
其他人有特殊字符,如 @ 或 . 或空格。在这种情况下,表达式必须在引号之间。