我有下面的javascript,它创建json对象并运行良好,但我想将此对象传递到从模式窗口调用的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'];
echo'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'];
echo$_POST['obj'];
echo'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){}解码数据结束
我已经按照建议更新了,但显示仍然是(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并返回您需要的
您可以使用$.post()将json post到您的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']
变量。