我在localstorage变量中保存了一些数据,并希望将这些数据写入使用PHP创建的文件中。
在我的html页面中,我有一个名为updatesurvey的函数。
此功能正在执行以下操作:
var newdate = new Date();
var q1age = localStorage.getItem('age');
var q2gender1 = localStorage.getItem('gender1');
var q2gender2 = localStorage.getItem('gender2');
function updatesurvey(){
$.ajax({
url: "save2file.php",
type: "post",
data: "&date="+newdate+"&Q1="+q1age+"&Q2_1="+q2gender1+"&Q2_2="+q2gender2+,
success: function(){
// alert("Thank you");
},
error:function(){
// alert("Sorry");
}
});
};
在save2file.php中,我想再次将POST数据写入文件:
<?php
$writedate = $_POST["date"];
$writeQ1 = $_POST["Q1"];
$writeQ2_1 = $_POST["Q2_1"];
$writeQ2_2 = $_POST["Q2_2"];
$fp = fopen('surveydata.csv', 'a');
$data = "$writedate;$writeQ1;$writeQ2_1;$writeQ2_2".PHP_EOL;
fwrite($fp, $data);
fclose($fp);
?>
当我检查我的surveydata.csv文件时,我总是有一个正确的日期。 其他POST数据的值为NULL。 但是,当我回到html页面并再次调用动作更新调查时(不输入新数据),它会将数据写入相关内容。
所以我的surveydata.csv第一次看起来像这样:
2015年12月12日星期六07:32:12 GMT 0100(中欧标准时间); null; null; null
第二次:
2015年12月12日星期六07:35:48 GMT 0100(中欧标准时间); A2;男性; null
知道出了什么问题吗? 为什么第一次只写正确的日期变量而其他变量没有?
答案 0 :(得分:0)
我找到了解决方案。 这只是我的错误。
我搬家了
function updatesurvey(){
后:
<script>
var map = null;
var layers = [];
function initMap() {
var lat = -6.9944910254;
var long = 110.4205135536;
var myLatLng = new google.maps.LatLng(lat,long);
var myOptions = {
zoom: 13,
center: myLatLng,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
// alert('Your latitude is '+lat+' and longitude is '+long);
map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
google.maps.event.addListener(layers, 'click', function(kmlEvent) {
showInContentWindow(kmlEvent.featureData.description);
});
function showInContentWindow(text) {
var content = "<div>" + text + "</div>";
var infowindow = new google.maps.InfoWindow({
content: content,
pixelOffset: new google.maps.Size(300, 0),
})
infowindow.open(map);
}
// alert('map geladen?');
layers[0] = new google.maps.KmlLayer({
url:'http://smamakudus.com/dian/Jalur_Kondusif_edited2.kml',
preserveViewport: true,
suppressInfoWindows: false,
map: map});
layers[1] = new google.maps.KmlLayer({
url:'http://smamakudus.com/dian/Jalur_Rata_edited.kml',
preserveViewport: true,
suppressInfoWindows: true,
map: map});
layers[2] = new google.maps.KmlLayer({
url: 'http://smamakudus.com/dian/Tanjakan_Ringan_edited.kml',
preserveViewport: true,
suppressInfoWindows: true,
map: map});
layers[3] = new google.maps.KmlLayer({
url:'http://smamakudus.com/dian/Tanjakan_Tajam_edited.kml',
preserveViewport: true,
suppressInfoWindows: true,
map: map});
layers[4] = new google.maps.KmlLayer({
url:'http://smamakudus.com/dian/Turunan_Ringan_edited.kml',
preserveViewport: true,
suppressInfoWindows: true,
map: map});
layers[5] = new google.maps.KmlLayer({
url:'http://smamakudus.com/dian/Turunan_Tajam_edited.kml',
preserveViewport: true,
suppressInfoWindows: true,
map: map});
google.maps.event.addListener(layers[0], "click", showInContentWindow);
google.maps.event.addListener(layers[1], "click", showInContentWindow);
google.maps.event.addListener(layers[2], "click", showInContentWindow);
google.maps.event.addListener(layers[3], "click", showInContentWindow);
google.maps.event.addListener(layers[4], "click", showInContentWindow);
google.maps.event.addListener(layers[5], "click", showInContentWindow);
for (var i = 0; i < layers.length; i++) {
layers[i].setMap(map);
}
}
function toggleLayer(i) {
if (layers[i].getMap() === null) {
layers[i].setMap(map);
} else {
layers[i].setMap(null);
}
}
</script>
<script async defer
src="https://maps.googleapis.com/maps/api/js?key=AIzaSyB3p-U78HJWBN9dDE7YwD537UrLauSv90A&signed_in=false&callback=initMap">
</script>
现在一切正常。