将Javascript变量传递给PHP,然后在不刷新的情况下重新加载页面
如何在通过Ajax向PHP发送javascript变量后重新加载页面而不重新刷新 下面是我正在创建的一个分析资产性能的网页的图片 我想做的是以下几点 当用户选择图中带有的测试块时,选择框将更新为该特定测试块内的所有子测试。但是,我不想刷新页面。我已经设法通过ajax将选定的测试块发送到PHP代码中,但无法让ajax在不刷新的情况下重新加载页面 当前,当选择测试块时,标签将返回到PHP并存储在$\u SESSION['label']变量中。然后在面板标题#子测试图表选择中使用。但是,如果没有页面刷新,标签将不会更新,这是我想要避免的 阿贾克斯: PHP: PHP回声HTML将Javascript变量传递给PHP,然后在不刷新的情况下重新加载页面,javascript,php,ajax,Javascript,Php,Ajax,如何在通过Ajax向PHP发送javascript变量后重新加载页面而不重新刷新 下面是我正在创建的一个分析资产性能的网页的图片 我想做的是以下几点 当用户选择图中带有的测试块时,选择框将更新为该特定测试块内的所有子测试。但是,我不想刷新页面。我已经设法通过ajax将选定的测试块发送到PHP代码中,但无法让ajax在不刷新的情况下重新加载页面 当前,当选择测试块时,标签将返回到PHP并存储在$\u SESSION['label']变量中。然后在面板标题#子测试图表选择中使用。但是,如果没有页面刷
<?php
echo '<div class="row">
<div class="col-lg-12 subtest-select">
<div class="panel panel-default">
<div class="panel-heading">
<h3 class="panel-title" id="subtest-chart-select"><i class="fa fa-bar-chart-o fa-fw"></i>' . $_SESSION['label'] . ' Subtest Select </h3>
</div>
<select class="form-control">
<option>1</option>
</select>
</div>
</div>
</div>'
?>
我仍然需要编写PHP代码来更新所选测试块中的子测试选项
任何帮助都将不胜感激,因为我一直在努力让它看起来永远有效。在成功函数中,您需要更新要更改的DOM部分。在PHP端,只需返回blade部分或任何要显示的HTML
$(document).on('submit', 'form#form-grad', function (e) {
e.preventDefault();
var context = $(this);
var thisForm = context.closest('form');
$.ajax({
url: thisForm.attr('action'),
method: 'PUT',
data: thisForm.serialize(),
success: function (response) {
$('#updatearea').html(response.pt_html);
// Close grading form
}
});
return false;
});
在success函数中,需要更新要更改的DOM部分。在PHP端,只需返回blade部分或任何要显示的HTML
$(document).on('submit', 'form#form-grad', function (e) {
e.preventDefault();
var context = $(this);
var thisForm = context.closest('form');
$.ajax({
url: thisForm.attr('action'),
method: 'PUT',
data: thisForm.serialize(),
success: function (response) {
$('#updatearea').html(response.pt_html);
// Close grading form
}
});
return false;
});
在$.ajax()集合中
在$.ajax()成功函数中说:
success: function(data) {
$('.inside_whereever_you_want_to_show_this').html(data);
}
编辑:
要仅更新页面上的一个值,您可以:
a) 在PHP中,只打印这个值(这样整个页面就只有这个值)
b) 更好的方法(在系统方法中)是使用json响应,在这里您还可以返回更多的独立变量:
- 将数据类型设置为json
- Success函数将使用$('.subtest updateable').html(data.label)
- 在PHP打印json_编码中(数组('label'=>$\u会话['label'],'someother'=>$someother_变量))
- 您仍然应该在页面的可更新部分周围放置span(或其他一些html元素)(以避免在javascript中写入常量)
success: function(data) {
$('.inside_whereever_you_want_to_show_this').html(data);
}
编辑:
要仅更新页面上的一个值,您可以:
a) 在PHP中,只打印这个值(这样整个页面就只有这个值)
b) 更好的方法(在系统方法中)是使用json响应,在这里您还可以返回更多的独立变量:
- 将数据类型设置为json
- Success函数将使用$('.subtest updateable').html(data.label)
- 在PHP打印json_编码中(数组('label'=>$\u会话['label'],'someother'=>$someother_变量))
- 您仍然应该在页面的可更新部分周围放置span(或其他一些html元素)(以避免在javascript中写入常量)
success: function(data) {
$('.inside_whereever_you_want_to_show_this').html(data);
}
<?php echo $_SESSION['label']
<h3 class="panel-title" id="subtest-chart-select"><i class="fa fa-bar-chart-o fa-fw"></i><span class="subtest-updateable">' . $_SESSION['label'] . '</span> Subtest Select </h3>
success: function(data) {
$('.subtest-updateable').html(data);
}