我的目标是通过一个ajax语句将包含会话变量的
我遇到了一些问题,无法使变量数据传递到ajax语句中。我做错了什么?
$userId
变量传递到包含已回显表单的php文件中。目的是当表单提交时,会话变量可以插入到数据库中并用作识别哪些用户完成了哪些条目的方式。我遇到了一些问题,无法使变量数据传递到ajax语句中。我做错了什么?
<?php
session_start();
if(isset($_SESSION['userid'])) {
$userId = mysql_real_escape_string($_SESSION['userid']);
echo $userId;
echo ' (irrelevant code)...
//button that loads form via ajax...
<a href="#" class="small button radius expand" onClick="showAdd(\'$userId\');return false;">Add URL</a>
(irrelevant code)... ';
}
AJAX代码:
function showAdd(str) {
$('#response').html('Processing Request. Please wait a moment...');
var userId = str;
alert (userId);
$.ajax({
type: "POST",
url: "addUrlForm.php",
data: "userId=" + str,
success: function(msg) {
$('#response').empty();
$('#content01').html(msg).show();
},
error: function () {
alert('error');
}
});
};
编辑:我采纳了你的建议(谢谢),它有所帮助。现在警报以字符串形式返回"$userId"变量。如何使其被识别为包含会话数据的变量,而不是字符串?我尝试过 "showAdd($userId)",但控制台告诉我$userId未定义?
showAdd()
函数中,那么代码不应该是var userId = str;
吗?或者只需将参数名称更改为userId
,您就可以愉快地继续了。 - Cyclonecode