PHP$\u会话无法使用Fancybox AJAX cal
我在这里有一场真正的战斗,我真的希望有人能帮忙。我昨晚很晚才睡,尝试谷歌提供的每一个解决方案,但仍然没有成功 我的网站上有一个我想添加到食谱中的配料列表 要对此进行处理,请执行以下操作:PHP$\u会话无法使用Fancybox AJAX cal,php,jquery,ajax,jquery-ui,Php,Jquery,Ajax,Jquery Ui,我在这里有一场真正的战斗,我真的希望有人能帮忙。我昨晚很晚才睡,尝试谷歌提供的每一个解决方案,但仍然没有成功 我的网站上有一个我想添加到食谱中的配料列表 要对此进行处理,请执行以下操作: 单击“添加到配方”。它打开一个fancybox iframe,其中包含来自的jquery UI选项卡式内容,允许用户以克为单位输入度量值 从这里,用户单击“添加”,fancybox内容进行AJAX调用(已经构建了创建良好的数据字符串) AJAX调用的PHP文件只需将传递的值转换为int(食物id和重量),并将其
$\u会话['recipe'][]=array('id'=>$id,'weight'=>$weight)代码>
vardump
会话时,它都是空的
我已经在每个页面上启动了会话,即步骤1、fancybox页面,然后是ajax页面
我完全不知所措
我在步骤3中的AJAX调用是:
$(document).on('click', '.add-food-button', function () {
var weight = $("input#grams").val();
var id = $("input#ingredientid").val();
//var sez = $("input#sez").val();
var dataString = 'g='+ weight +'&id=' + id ; //+ "&sid=" + sez;
if (weight > 0)
{
$.ajax({
type: "POST",
url: "../ajax/add-ingredient-to-recipe.php?"+dataString,
dataType: "html",
data: dataString,
success: function (msg) {
frames.top.$.fancybox.close(true);
frames.top.$('#calorie-table').load('./views/recipe-calorie-chart.tmp.php');
}
});
}else{
$('#grams').addClass('errorInput');
$('#weight-label').addClass('errorLabel');
}
});
名为(步骤4)的php文件是:
我读过关于通过AJAX传递会话ID的内容,因为AJAX调用可能会生成一个新的会话,而我实际上需要使用已经打开的会话。如果是这样,我该怎么做
任何建议都会很好 如果检查ajax调用,您会发现您正在查询字符串中传递“g”和“id”变量。但在php文件中,您正在检查“weight”&&“id”。因此,此条件将不为真,会话将永远不会设置。因此,您得到了空白会话值。 更新的ajax调用
$.ajax({
type: "POST",
url: "../ajax/add-ingredient-to-recipe.php?"+dataString,
dataType: "html",
success: function (msg) {
frames.top.$.fancybox.close(true);
frames.top.$('#calorie-table').load('./views/recipe-calorie-chart.tmp.php');
}
});
更新的php代码
session_start();
include('../includes/config.inc.php');
if (isset($_GET['g']) && $_GET['id'])
{
$weight = (int) $_GET['g'];
$id = (int) $_GET['id'];
$_SESSION['recipe'][] = array('id' => $id,'weight' => $weight);
}
您在哪里访问$\u会话['recipe']?
session_start();
include('../includes/config.inc.php');
if (isset($_GET['g']) && $_GET['id'])
{
$weight = (int) $_GET['g'];
$id = (int) $_GET['id'];
$_SESSION['recipe'][] = array('id' => $id,'weight' => $weight);
}