我有两个不同的函数,这两个函数都执行Ajax调用。
在第一个示例中,我将一个字符串赋给变量data:插入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
});
}
有人知道为什么会这样吗?
发布于 2018-07-19 04:44:32
有些变量仅由字符和数字组成。那些不需要引号的
其他字符则有特殊字符,如@或。或者空格。在这种情况下,表达式必须在引号之间。
https://stackoverflow.com/questions/51409034
复制相似问题