[英]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.