使用post在mySQL DB中提交和存储数据,将Javascript对象传递给PHP

时间:2013-10-14 16:36:05

标签: javascript php mysql arrays

我在提交时将JS对象发布到PHP页面时遇到问题,然后将其存储到mySQL数据库中。

这是脚本:

var idToDb = [];
var nameToDb = [];
var friendToDb ={};
$('.btn-add').click(function(e){
    e.preventDefault();
    $(this).toggleClass('btn-info btn-success');
    $(this).toggleClass('friend-selected');
    $(this).html($(this).html() == "Selected" ? "Add" : "Selected");         
    addOrRemove(idToDb, $(this).parent().data('id'));
    addOrRemove(nameToDb, $(this).parent().data('name'));
    friendToDb = _.object(idToDb, nameToDb)

我想在点击提交按钮后使用post将此数组“friendToDb”发布到单独的PHP页面,然后将其存储在mySQL数据库中。

这是我想用PHP发布的内容:

<form method="post" action="friend_input.php">
    <div id="submitBtnRow" class="row top-plus">
      <div class="col-md-12">
        <div class="form-group">
          <input type="submit" id="submitBtn" class="btn btn-info btn-lg btn-block" value="SUBMIT">Submit</a>
        </div>
      </div>
    </div><!-- /submitBtnRow -->
</form>

然后在 friend_input.php 中,我正在尝试获取 friendToDb 并存储在mySQL数据库中,我不知道该怎么做。

请告诉我应该怎么做。

谢谢。

2 个答案:

答案 0 :(得分:0)

将此添加到表单

<input id="friendDb" name="friendDb" type="hidden" />

然后使用

$("#friendDb").val();

在发布到脚本之前设置值。

答案 1 :(得分:0)

使form action=""和使用ajax将您的对象传递给php:

$.ajax({
url:"friend_input.php",
type:"post",
data:{value:JSON.stringify(friendToDb)},   //Converts a JavaScript value to a JavaScript Object Notation (JSON) string.
success:function(result){
// response from php page
}
});

在php页面中:

echo json_decode($_POST['value']);  //Takes a JSON encoded string and converts it into a PHP variable.