如何使用PHP和AJAX从html表单和javascript数组中获取数据

时间:2018-03-16 06:29:36

标签: javascript php ajax

我使用AJAX post方法发送HTML表单和javascript数组。但我无法在PHP文件中获取我的数据。

   $.post("addOrder.php", {
        "form": $("#placeOrderForm").serialize(),
        "array": array
    }, function(responce) {});

6 个答案:

答案 0 :(得分:0)

请清楚阅读docs

更新代码:

$.post("addOrder.php",
  $("#placeOrderForm").serialize(),
  function(response) {
  }
);

addOrder.php中,使用。

打印已发布的数组
echo '<pre>';print_r($_POST);echo '</pre>';

如果您使用的是firebug,您将获得已发布的变量&#39;响应选项卡中的数组。

答案 1 :(得分:0)

//您可以访问jQuery.ajax发布的值 //通过全局变量$ _POST,如下所示:

  

$ var = isset($ _ POST [&#39; var&#39;])? $ _POST [&#39; var&#39;]:null;

答案 2 :(得分:0)

你可以试试下面的东西:

var request = $.ajax({
  url: "addOrder.php",
  type: "POST",
  data: {<data1> : <val1>},
  dataType: "html"
});

request.done(function(msg) {
  $("#log").html( msg );
});

request.fail(function(jqXHR, textStatus) {
  alert( "Request failed: " + textStatus );
});

看起来你传递参数有问题。

答案 3 :(得分:0)

在addForm.php中试试这个:

var_dump($_POST)

这将使您能够检查发布的表单数据。

答案 4 :(得分:0)

在你的php文件中尝试这样的事情:

 $params = array();
 echo parse_str($_POST, $params);

答案 5 :(得分:0)

谢谢大家。我找到了答案。我使用“serializeArray”发送表单。

HTML

<form id="placeOrderForm">
    <input name="po">
    <input name="desc">
</form> 

的javascript

var array = [1,2];
$.post("addOrder.php",{
    "form":$("#placeOrderForm").serializeArray(), 
    "array":array
}, function (responce) {});

PHP

$form_input_data_1 = $_POST['form'][0]['value']; // get po's data
$form_input_data_2 = $_POST['form'][1]['value']; // get desc's data
$array_index_1_data = $_POST['array'][0]; // get 1
$array_index_2_data = $_POST['array'][1]; // get 2
相关问题