당신이 XMLHttpRequest
의 인스턴스를 사용할 수 없습니다
<script>
function saveTimeSlots(){
var ajaxRequest;
try{
ajaxRequest = new XMLHttpRequest();
}
catch(e){
alert('Issue with browser.')
}
ajaxRequest.onreadystatechange = function(){
if(ajaxRequest.readyState==4){
alert(ajaxRequest.responseText); //This returns empty except for last call
}
}
var timeSlots = document.getElementById('formSlots').childNodes;
var date = $.datepicker.formatDate('dd-mm-yy', new Date($('#datepicker').datepicker("getDate")));
for(j=0; j<timeSlots.length; ++j){
var time = timeSlots[j].getElementsByTagName("input")[0].value;
var status = 1;
var queryString = "?date=" + date + "&time=" + time + "&status=" + status;
ajaxRequest.open("GET", "process.php" + queryString, true);
ajaxRequest.send(null);
}
}
</script>
<input type="button" value="Save time slots" class="custom-button" onclick="saveTimeSlots()"/>
는 다음이 방화범 보여줍니다 무엇
<?php
mysql_connect($dbhost,$user,$pwd);
mysql_select_db($dbase) or die(mysql_error());
$date = mysql_real_escape_string($_GET['date']);
$time = mysql_real_escape_string($_GET['time']);
$status = mysql_real_escape_string($_GET['status']);
$query = "INSERT INTO time_slots (`date`,`time`,`status`) VALUES ('" . $date . "','" . $time . "'," . $status . ")";
echo $query;
if(mysql_query($query)){
echo "Success";
}else{
echo mysql_error();
}
mysql_close();
}
?>
process.php의 코드 하나 이상의 요청. 각 요청에 대해 새 인스턴스를 만듭니다.
이미 jQuery를 사용하고 있으므로 $.ajax
(또는 $.get
)을 사용하여 요청을 가져 오는 것이 좋습니다. 당신은 모든 요청에 대해 동일한 XMLHttpRequest
객체를 사용하는
function saveTimeSlots(){
$('#formSlots').children().each(function() {
var time = $(this).find('input:first').val();
var status = 1;
var queryString = "?date=" + date + "&time=" + time + "&status=" + status;
$.get("process.php" + querystring, function(responseText) {
alert(responseText);
});
});
}
감사합니다. 두 가지 방법 모두 매력처럼 작동했습니다! :) – Ivin