我有两个不同的函数,都可以执行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
});
}
有人知道为什么会这样吗?
答案 0 :(得分:0)
某些变量仅由字符和数字组成。那些不需要引号
其他人有特殊字符,例如@或。或空格。在这种情况下,表达式必须在引号之间。