我有以下创建 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转储'; 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转储';
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>