繁体   English   中英

如何通过模式窗口将JSON对象传递给PHP文件

[英]How to pass JSON object to PHP file called through the modal window

我有以下创建json对象并可以正常工作的javascript,但我想将此对象传递给从模态窗口调用的php文件,以进行下一步。

<script type="text/javascript">
$(document).ready(function(){
    $('a.edit').click(function(){
    var myrowID = $(this).data('rowid');
    var sfid = $(this).data('sfid');
    var company = $(this).data('company');
    var dealerclass = $(this).data('dealerclass');    
    $(".modal-body #mysfid").val(sfid);
    $(".modal-body #mycompany").val(company);
    $(".modal-body #mydealerclass").val(dealerclass);
    var myObject = {};
    myObject.sfid = sfid;
    myObject.company=company;
    var myString = JSON.stringify(myObject);
    var obj = jQuery.parseJSON(myString);
    $(".modal-body #myjobject").val(obj.sfid);

    });
});

从这里我不知道如何将其传递给php文件。 在这里我可以使用json_decode函数来获取所需的数据进行处理。 如果这种方法不正确,请提出其他替代方法来实现。 请帮帮我。 感谢帮助。

这是引导HTML中的模式调用

<a class="btn btn-success" href="../BootLogin/Sales/updateprocess.php">Approved</a>

updateprocess.php文件中的最新更新,但仍然没有显示。

$_POST['obj'];

回显'var dump'; var_dump($ _ POST);

    $jsondata=$_POST['obj']; //sets all data curiously to null, bug ?

    $data = json_decode($_POST['obj']);

    echo 'decoded data';
    print_r($data);

    echo 'END';
    exit();  

这是发布JSON的jQuery脚本

<script type="text/javascript">
$(document).ready(function(){
    $('a.edit').click(function(){
    var myrowID = $(this).data('rowid');
    var sfid = $(this).data('sfid');
    var company = $(this).data('company');
    var dealerclass = $(this).data('dealerclass');    
    $(".modal-body #mysfid").val(sfid);
    $(".modal-body #mycompany").val(company);
    $(".modal-body #mydealerclass").val(dealerclass);
    var myObject = {};
    myObject.sfid = sfid;
    myObject.company=company;
    var myString = JSON.stringify(myObject);
    var obj = jQuery.parseJSON(myString);
    $(".modal-body #myjobject").val(obj.sfid);
    $.post("updateprocess.php");
    });
});

我也测试了文件的路径,但仍然(0)

我的updateprocess.php现在具有以下代码

$_POST['obj'];

回声$ _POST ['obj'];

回显'var dump';

    var_dump($_POST);

    //$jsondata=$_POST['obj']; //sets all data curiously to null, bug ?

    //$data = json_decode($_POST['obj']);
    //var_dump($data);
    echo 'decoded data';
   // print_r($data);

    echo 'END';
    exit();  

这是输出。

var dumparray(0){}解码数据END

我已按照建议进行更新,但显示仍为(0)

<script type="text/javascript">
$(document).ready(function(){
    $('a.edit').click(function(){
    var myrowID = $(this).data('rowid');
    var sfid = $(this).data('sfid');
    var company = $(this).data('company');
    var dealerclass = $(this).data('dealerclass');    
    $(".modal-body #mysfid").val(sfid);
    $(".modal-body #mycompany").val(company);
    $(".modal-body #mydealerclass").val(dealerclass);
    var myObject = {};
    myObject.sfid = sfid;
    myObject.company=company;
    var myString = JSON.stringify(myObject);
    var obj = jQuery.parseJSON(myString);
    $(".modal-body #myjobject").val(obj.sfid);
    }); 
});     
    var dataString = 'obj=' +obj
$.ajax({  
    type: 'POST',  
    url: 'updateprocess.php',  
    data: dataString,  
    success: function() {  
    console.log('POST successful.');
    }  
});

</script> 

Updated Javascript Ajax code.

<script type="text/javascript">
var passSFID;
$(document).ready(function(){
    $('a.edit').click(function(){
    var myrowID = $(this).data('rowid');
    var sfid = $(this).data('sfid');
    var company = $(this).data('company');
    var dealerclass = $(this).data('dealerclass');    
    $(".modal-body #mysfid").val(sfid);
    $(".modal-body #mycompany").val(company);
    $(".modal-body #mydealerclass").val(dealerclass);
passSFID = sfid;
    $('a.approve').click(function(){
        var postData = passSFID;
        alert(postData);       // Data prints at this point as required
$.ajax({
    type: "POST",
    datatype: "json",
    data: {mydata:postData},
    url: "backend.php",

    success: function(data){
        console.log('Data Passed');

    },
    error: function(e){
        console.log("Data passed failed");
    }

});

    });
});
});
</script>

您可以使用$ .post()将json发布到您的PHP文件中,并使其解析$ _POST数据:

http://api.jquery.com/jQuery.post/

您似乎无法正确发布。 尝试此操作,它将登录到控制台,以告诉您已正确张贴。 我假设您的obj变量是您要发布的名称为“ obj”的变量?

var dataString = 'obj=' +obj

$.ajax({  
  type: 'POST',  
  url: 'updateprocess.php',  
  data: dataString,  
  success: function() {  
    console.log('POST successful.');
  }  
});

现在, updateprocess.php应该能够获取$_POST['obj']变量。

您可以使用post处理json并返回所需的内容

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM