Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Laravel使用AJAX将Javascript变量传递给PHP_Javascript_Php_Jquery_Ajax_Laravel - Fatal编程技术网

Laravel使用AJAX将Javascript变量传递给PHP

Laravel使用AJAX将Javascript变量传递给PHP,javascript,php,jquery,ajax,laravel,Javascript,Php,Jquery,Ajax,Laravel,我试图将一个变量从javascript代码传递到服务器端PHP代码。我知道这必须通过ajax完成,但不幸的是,我没有在blade视图中收到PHP变量中的值 形式:url=facture=20 {!! Form::open(array('url'=> 'admin/facture=20', 'method'=>'post', 'name'=>'pushds')) !!} {!! Form::hidden('ms_id', $fact->id) !!} {!! Form:

我试图将一个变量从javascript代码传递到服务器端PHP代码。我知道这必须通过ajax完成,但不幸的是,我没有在blade视图中收到PHP变量中的值

形式:url=facture=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:facture=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() !!}
blade视图中的变量php

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

试试这个

在表单中(将id字段添加到发件人)

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()
对其进行测试。


使用ajax向服务器端传递javascript值的方法有很多:

方法1:

将ajax代码更改为:

发件人:

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

在服务器端,您可以通过以下方式获得:

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


谢谢

您是否可以查看控制台中的ajax请求以及随请求一起发送的数据,以确保数据确实被传递?另外,查看响应并确保它确实得到了响应。如果您指的是console.log xhr,则存在数据即使我修复了变量,我也什么也得不到:数据:{mstid:'7',ms_id:'13'},错误消息:未定义索引:mstid@nabil请打开控制台查看post数据。它是去服务器吗?控制台中有任何错误吗?@nabil检查(isset($\u POST[“mstid”])&&$\u POST[“mstid”]!=”){echo$\u POST['mstid'];}或通过if($\u POST[“mstid”]!=”){echo$\u POST[“mstid”];}检查是否有错误总是一样的事情!
<?php 
if (isset($_POST["mstid "]) && $_POST["mstid "] != "") {
echo $_POST['mstid ']; 
}
?>