如何使用ajax将动态插入的数据从java脚本传递给php

时间:2017-05-16 05:39:01

标签: javascript php ajax

<script type="text/javascript">
 
var httpBuildQuery = function(params) {

    if (typeof params === 'undefined' || typeof params !== 'object') {
        params = {};
        return params;
    }

    var query = '?';
    //var index = '';
    var index = <?php echo json_encode($array3); ?>;

    
      for (var i in index) {
        //index++;
        //var param = index[i];
        var value = params[i];
        if (index == 1) {
            query += value + '=' +  value +'.value';
        } 
        else {

            query += '&' + value + '=' +  value +'.value';
        }

    }
    return query;
};


var build = document.getElementById('submit');
var output = document.getElementById('output');

build.onclick = function() {
 
 var parameters = <?php echo json_encode($array2); ?>;
    
  var $query = httpBuildQuery(parameters);
    //output.firstChild.nodeValue = $query;
    alert($query);
   var $z=document.getElementById("output").innerHTML = $query;
 
   
   //var $my_variable = "something";
$("#build").click(function() {
   
$.ajax({
     url: 'insert_value.php',
     data: {x: $query},
     type: 'POST'

});
});

};
</script>
  
   

<!-- begin snippet: js hide: false console: true babel: false -->

这里我在这里上传了我的代码我正在动态生成控件并尝试将这些控件值插入到某个表中,所以我必须将值从javascript传递给php

在javascript中我正在创建查询字符串,但它就像是?gender = gender.value&amp; name = name.value所以不应该直接打印,而应该直接使用像?gender = Male&amp; name = sai这样的值

所以有人帮我解决我的问题

1 个答案:

答案 0 :(得分:0)

您不需要太复杂,只需保持简单。

在你正在动态添加控件的php文件中的

代码

    <form id="myForm">

    // Generate your dynamic content here

    <button type="submit">Submit</button>
    </form>

<script>
$(document).ready(function(){
 $("#myForm").submit(function(evt){
  evt.preventDefault();

  var formData = $("#myForm").serialize();
  $.ajax({
        url: "insert_data.php",
        data: formData,
        type: 'POST',
        success: function (data) {
            // do something with the result
        }
 });
});
</script>

在您的insert_data.php文件中,您可以使用print_r($_POST);

查看此数据

您还可以使用https://api.jquery.com/serializeArray/以及有关序列化https://api.jquery.com/serialize/

的更多信息