使用此函数执行POST请求:
$.post('../CPaddVolo/',{
_token: $('#_token').val(),
data:values
}).done(function(){
if (msg==='ok'){
swal("Volo aggiunto con successo!");
}else{
swal("Errore nella gestione della richiesta: riprovare.");
}
})
.fail(function(err){
swal("Aggiunta del volo fallita.");
});
页面中的整个HTML代码和JS:
<div class="row">
<!--Voli presenti-->
<div class="col-md-6">
<label>Voli presenti</label>
@if (count($data[6])>0)
@foreach ($data[6] as $volo)
<form action="{{route('updateVolo',$data[6]->id)}}" enctype="multipart/form-data" method="post">
<label for="compagnia">
Compagnia di volo
</label>
<select class="form-control" id="newVoloidCompagniaFk" name="compagnia">
@foreach ($data[11] as $compagnia)
@if ($compagnia->id===$volo->idCompagniaFk)
<option value="{{$compagnia->id}}" selected="selected">
{{$compagnia->nome}}
</option>
@else
<option value="{{$compagnia->id}}">
{{$compagnia->nome}}
</option>
@endif
@endforeach
</select>
<label for="dataoraPart">Data e ora di partenza (gg/mm/aaaa hh:mm)</label>
<input type="text" class="form-control" id="volo{{$volo->id}}dataoraPart" name="dataoraPart"/>
<label for="dataoraArrivo">Data e ora di arrivo (gg/mm/aaaa hh:mm)</label>
<input type="text" class="form-control" id="volo{{$volo->id}}dataoraArrivo" name="dataoraArrivo"/>
<label for="origine">Origine:</label>
<input type="text" class="form-control" id="volo{{$volo->id}}origine" name="origine" />
<label for="destinazione">Destinazione:</label>
<input type="text" class="form-control" id="volo{{$volo->id}}destinazione" name="destinazione" />
<label for="classe">Classe:</label>
<input type="text" class="form-control" id="volo{{$volo->id}}classe" name="classe" />
<label for="servizi">Servizi:</label>
<input type="text" class="form-control" id="volo{{$volo->id}}servizi" name="servizi" />
<label for="buy">Buy:</label>
<input type="text" class="form-control" id="volo{{$volo->id}}buy" name="buy" />
<label for="sell">Sell:</label>
<input type="text" class="form-control" id="volo{{$volo->id}}sell" name="sell" />
<label for="bar">BAR:</label>
<input type="text" class="form-control" id="volo{{$volo->id}}bar" name="bar" />
<label for="istruzioni">Istruzioni:</label>
<input type="text" class="form-control" id="volo{{$volo->id}}istruzioni" name="istruzioni" />
<label for="status">Stato:</label>
<select name="status" id="volo{{$volo->id}}status">
@foreach($data[12] as $status)
@if ($status->id===$volo->status)
<option value="{{$status->id}}" selected="selected">
{{$status->nome}}
</option>
@else
<option value="{{$status->id}}" >
{{$status->nome}}
</option>
@endif
@endforeach
</select>
<input type="submit" class="btn btn-success" value="Modifica volo"/>
</form>
@endforeach
@else
<br/>
Nessun volo presente per la proposta cliente.
@endif
</div>
<!--Aggiunta di un nuovo volo-->
<div class="col-md-6">
<label>Aggiunta nuovo volo</label><Br/>
<label for="compagnia">
Compagnia di volo
</label>
<select class="form-control" id="newVoloidCompagniaFk" name="compagnia">
<option value="0">
Seleziona una compagnia di volo
</option>
@foreach ($data[11] as $compagnia)
<option value="{{$compagnia->id}}">
{{$compagnia->nome}}
</option>
@endforeach
</select>
<label for="dataoraPart">Data e ora di partenza (gg/mm/aaaa hh:mm)</label>
<input type="text" class="form-control" id="newVolodataoraPart" name="dataoraPart"/>
<label for="dataoraArrivo">Data e ora di arrivo (gg/mm/aaaa hh:mm)</label>
<input type="text" class="form-control" id="newVolodataoraArrivo" name="dataoraArrivo"/>
<label for="origine">Origine:</label>
<input type="text" class="form-control" id="newVoloorigine" name="origine" />
<label for="destinazione">Destinazione:</label>
<input type="text" class="form-control" id="newVolodestinazione" name="destinazione" />
<label for="classe">Classe:</label>
<input type="text" class="form-control" id="newVoloclasse" name="classe" />
<label for="servizi">Servizi:</label>
<input type="text" class="form-control" id="newVoloservizi" name="servizi" />
<label for="buy">Buy:</label>
<input type="text" class="form-control" id="newVolobuy" name="buy" />
<label for="sell">Sell:</label>
<input type="text" class="form-control" id="newVolosell" name="sell" />
<label for="bar">BAR:</label>
<input type="text" class="form-control" id="newVolobar" name="bar" />
<label for="istruzioni">Istruzioni:</label>
<input type="text" class="form-control" id="newVoloistruzioni" name="istruzioni" />
<label for="status">Stato:</label>
<select class="form-control" name="status" id="newVolostatus">
<option value="0">
Seleziona uno stato
</option>
@foreach($data[12] as $status)
<option value="{{$status->id}}" >
{{$status->nome}}
</option>
@endforeach
</select>
<br/>
<br/>
<button class="btn btn-warning" onclick="addVolo()">Aggiungi nuovo volo</button>
</div>
<script type="text/javascript">
$(document).ready(function() {
$('#testo').summernote();
});
function proposalDelete(id){
swal("Sei sicuro di voler eliminare questa proposta cliente?",{
buttons:{
cancel: "Annulla",
conferma: "Conferma"
}
})
.then((value)=>{
switch(value){
case "cancel":
swal("Operazione annullata");
break;
case "conferma":{
$.ajax({
type: "GET",
url: '../CPDelete/'+id
}).done(function( msg ) {
if (msg==='ok'){
swal("Proposta cliente eliminata.");
window.location='../clientProposals';
}else{
swal("Errore nella gestione della richiesta: riprovare.");
}
});
};break;
}
});
}
(function() {
document.getElementById('datainizio').value=document.getElementById('datainizio').value.substr(8,2)+'/'+document.getElementById('datainizio').value.substr(5,2)+'/'+document.getElementById('datainizio').value.substr(0,4);
document.getElementById('datafine').value=document.getElementById('datafine').value.substr(8,2)+'/'+document.getElementById('datafine').value.substr(5,2)+'/'+document.getElementById('datafine').value.substr(0,4);
})();
function addVolo(){
swal("Procedere all'aggiunta del nuovo volo?",{
buttons:{
cancel: "Annulla",
conferma: "Conferma"
}
})
.then((value)=>{
switch(value){
case "cancel":
swal("Operazione annullata");
break;
case "conferma":{
if ((isValidDatetime($('#newVolodataoraPart').val())) && (isValidDatetime($('#newVolodataoraArrivo').val()))){
if (($('#newVoloidCompagniaFk').val()!=0) && ($('#newVolostatus').val()!=0)){
values=[];
$('*[id*=newVolo]:visible').each(function() {
if ( ($(this).attr('id')!='newVoloidCompagniaFk') || ($(this).attr('id')!='newVolostatus')){
if ( ($(this).attr('id')=='newVolobar') ||
($(this).attr('id')=='newVolobuy') ||
($(this).attr('id')=='newVolosell')
){
if (!isNaN($(this).val())){
values.push($(this).val());
}
}
else if ( ($(this).attr('id')=='newVolodataoraPart') || ($(this).attr('id')=='newVolodataoraArrivo')){
values.push(datetimeComposer($(this).val()));
}
else{
if ($(this).val().length>0){
values.push($(this).val());
}
}
}
});
values.push($('#CPID').val());
if (values.length!=13){
swal("Accertati di aver riempito tutti i campi e che gli indici di BAR, buy e sell siano numerici.");
}else{
console.log("eseguo");
$.post('../CPaddVolo/',{
_token: $('#_token').val(),
data:values
}).done(function(){
if (msg==='ok'){
swal("Volo aggiunto con successo!");
}else{
swal("Errore nella gestione della richiesta: riprovare.");
}
})
.fail(function(err){
swal("Aggiunta del volo fallita.");
});
}
}else{
swal("Selezionare una compagnia di volo e uno stato del volo stesso.");
}
}else{
swal("Gli orari di partenza e arrivo non hanno un formato corretto.");
}
};break;
}
});
}
function datetimeComposer(value){
return value.substr(6,4)+'-'+value.substr(3,2)+'-'+value.substr(0,2)+' '+value.substr(11,5)+':00';
}
//Verifica che la data orario sia scritta in formato corretto
function isValidDatetime(value){
data=value.substr(0,10);
ora=value.substr(11,5);
if (value.length==16){
if (value.substr(0,10) != '' && value.substr(0,10).match(/^\d{1,2}\/\d{1,2}\/\d{4}$/)){
if (value.substr(11,5)!='' && value.substr(11,5).match(/^\d{1,2}:\d{2}([ap]m)?$/)){
return true;
}
}
}
return false;
}
然后将其路由到我的“ web.php”中:
Route::post('/cms/CPaddVolo/', 'DetailsClientProposalController@addVolo')->name('addVolo');
将执行第一个POST请求(给出任何响应):
然后,同时执行第二个GET请求,该请求在我的代码的任何部分都没有完成:
这将引发错误(因为路由不允许GET请求):
GET http://amaka.demomasetek.online/cms/CPaddVolo 405 (Method Not Allowed)
实际上,我也尝试在POST中设置具有相同结果的整个URL,但是此问题仍然存在,同时我认为问题是URL本身中的最后一个“ /”:有或没有的相同结果。 / p>
使用$.ajax
和“ POST”设置为回调内部参数的结果相同。
答案 0 :(得分:0)
好的,据我了解,您正在尝试连续执行2条路线?第一个是POST请求,第二个是GET请求?
//this is your first request using POST
$.post('../CPaddVolo/',{
_token: $('#_token').val(),
data:values
}).done(function(){
if (msg==='ok'){
secondCPaddVolo(); //call it in success function
swal("Volo aggiunto con successo!");
}else{
swal("Errore nella gestione della richiesta: riprovare.");
}
})
.fail(function(err){
swal("Aggiunta del volo fallita.");
});
function secondCPaddVolo(){
$.ajax({
method: "GET",
data: {yourdata},
url: '../CPaddVolo/', //whatever your URL is
successs: function(data){
//return your data
},
error: function(data){
//return
}
});
}
您可以做的是在第一个AJAX的成功函数中调用第二个请求。我希望这就是你的意思。如果需要其他方法,可以在第一个请求的控制器功能内调用第二个请求的控制器功能。