2017-02-23 109 views
0

我想從我的JavaScript代碼傳遞一個變量到服務器端PHP代碼。我知道這必須通過ajax完成,但不幸的是我沒有在刀片視圖中收到PHP變量的值。Laravel使用AJAX將Javascript變量傳遞給PHP

形式:URL =骨折= 20

{!! Form::open(array('url'=> 'admin/facture=20', 'method'=>'post', 'name'=>'pushds')) !!} 
{!! Form::hidden('ms_id', $fact->id) !!} 
{!! Form::hidden('mstid', $fact->b_id, array('id' => 'mstid')) !!}  
{!! Form::close() !!} 

的jquery:

$('form[name="pushds"]').on('submit', function (e){ 
    e.preventDefault(); 

    var mstid = $('#mstid').val(); 
    var ms_id = $('#ms_id').val(); 

     $.ajax({ 
      type: 'post', 
      url: 'facture=20',    
      data: {mstid: $('#mstid').val(), ms_id : $('#ms_id').val()}, 
      success: function(data) { 
...... 
}, 

當前頁面URL:骨折= 20

在葉片視圖可變PHP

<?php 
if (!empty($_POST["mstid "])) { 
echo $_POST['mstid ']; 
} 
?> 
+0

你能在控制檯看看,看看Ajax請求及數據與發送到確保數據實際上正在傳遞?也看看回應,並確保它實際上是回聲。 – user3158900

+0

如果你的意思是console.log xhr,有數據 – nabil

回答

0

試試這個

在形式添加字段ID從

{!! Form::hidden('ms_id', $fact->id, array('id' => 'ms_id')) !!} 
{!! Form::hidden('mstid', $fact->b_id, array('id' => 'mstid')) !!} 

在AJAX

var mstid = $('#mstid').val(); # Calling through respective ID 
var ms_id = $('#ms_id').val(); # Calling through respective ID 

$.ajax({ 
    type: 'post', 
    url: 'facture=20',    
    data: {mstid: mstid , ms_id : ms_id }, # passing variables 
    success: function(data) { 

確保您從提交到達AJAX代碼。您可以通過使用AJAX alert()函數內部測試..

0

有許多方法使用Ajax通過JavaScript值到服務器端:

方法1:

更改你的Ajax代碼:

來源:

$.ajax({ 
      type: 'post', 
      url: 'facture=20',    
      data: {mstid: $('#mstid').val(), ms_id : $('#ms_id').val()}, 
      success: function(data) { 
...... 
}, 

要:

$.ajax({ 
      type: 'post', 
      url: 'facture=20',    
      data: {mstid: $('input[name=mstid]').val(), ms_id : $('input[name=ms_id]').val()}, 
      success: function(data) { 
...... 
}, 

而在服務器端,您可以得到它爲:

<?php 
if (isset($_POST["mstid "]) && $_POST["mstid "] != "") { 
echo $_POST['mstid ']; 
} 
?> 

感謝

+0

即使我修正了變量,我什麼也沒得到:data:{mstid:'7',ms_id:'13'}, – nabil

+0

錯誤信息:未定義索引:mstid – nabil

+0

@納比勒請打開控制檯並查看發佈數據。它會去服務器?控制檯中是否有錯誤? –