从选定的值(来自表单)我创建一个变量(var parcela
)。
var parcela;
$(document).ready(function(){
parcela = localStorage.getItem("parcela");
if (parcela !== '') {
$('#parcela').val(parcela);
}
$("#parcela").on('change',function() {
selectBoxVal_1 = $('#parcela').val();
if (typeof(Storage) !== "undefined") {
localStorage.setItem("parcela", selectBoxVal_1);
} else {
alert('Sorry! No Web Storage support..');
}
location.reload();
});
});
从创建的变量(parcela
)中,我在PHP中创建一个会话变量。
$.post("phpscripts/session.php", {"parc_id": parcela});
PHP(session.php)
<?php
session_start();
$parcela = $_POST["parc_id"];
$parcela_int = (int)$parcela;
if($_POST){
$_SESSION['parcela_id'] = $parcela_int;
}
?>
之后,创建的会话变量催促另一个PHP脚本
query.php
<?php
session_start();
require("common.php");
$user_id = htmlentities($_SESSION['user']['id_korisnika']);
$parc = $_SESSION['parcela_id'];
try
{
$stmt = $db->prepare("SELECT y_cent, x_cent FROM parcele WHERE id_korisnika='$user_id' AND id_parcele='$parc' ");
$stmt->execute();
}
catch(PDOException $ex)
{
die("Failed to run query: " . $ex->getMessage());
}
$rows = $stmt->fetchAll();
....
这一切都很完美!
但是,当我在javascript中使用query(query.php)调用php脚本时,会出现问题。 JS采用先前的会话变量而不是最后选择的。
$.ajax({
url: 'phpscripts/query.php',
type: 'GET',
success : function(data) {
chartData = data;
//console.log(chartData);
...
有谁知道问题是什么?我试了两天才解决这个问题......
注意:javascript代码包含在一个脚本中。
答案 0 :(得分:0)
我解决了这个问题。我不得不提取部分调用php脚本的javascript代码到一个单独的脚本中。我用jQuery getScript()
Method调用了新的JS脚本。
谢谢@knets。