2017-02-23 106 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

@纳比勒请打开控制台并查看发布数据。它会去服务器?控制台中是否有错误? –