Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/251.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在php中以数组形式从xmlhttprequest获取数据_Javascript_Php_Arrays_Ajax_Json - Fatal编程技术网

Javascript 在php中以数组形式从xmlhttprequest获取数据

Javascript 在php中以数组形式从xmlhttprequest获取数据,javascript,php,arrays,ajax,json,Javascript,Php,Arrays,Ajax,Json,在php中有没有一种方法可以将xmlhttprequest对象作为数组(不使用json和jquery)获取数据 我遇到一篇文章说,为了在php中处理ajax请求,将首先检查输入数据是否为数组。 以下是有关文本的代码: <?php $data = $_REQUEST['fld']; if ( is_array($data) ) echo file_put_contents('db.csv', implode(",", $data) . "\n", FILE

在php中有没有一种方法可以将xmlhttprequest对象作为数组(不使用json和jquery)获取数据

我遇到一篇文章说,为了在php中处理ajax请求,将首先检查输入数据是否为数组。 以下是有关文本的代码:

  <?php
    $data = $_REQUEST['fld'];
    if ( is_array($data) )
        echo file_put_contents('db.csv', implode(",", $data) . "\n", FILE_APPEND) ? 1 : 2;
    else 
        echo 3;//Error 
  ?>

您必须创建带有编码字段名和-值的查询字符串(假设您将使用GET通过表单发送这些字段,GET是您必须通过JS创建的浏览器地址栏中的查询字符串)

例如:

  var  name   = 'fld[]',//name of the fields
       enc    = encodeURIComponent(name),//encoded name 
       query  = [],//array to store the data
       flds   = document.querySelectorAll('input[name="'+name+'"]');//the inputs

  for(var f = 0; f < flds.length; ++f){//iterate over the inputs
    //collect the data
    query.push([enc,encodeURIComponent(flds[f].value)].join('='));
  }
  //prepare the data
  query=query.join('&');

  //query now is ready for transmission: 

  //either via GET:
  XMLHttpRequestInstance.open('GET', 'some.php?'+query, true);


  //or via POST:
  XMLHttpRequestInstance.send(query);
var name='fld[]',//字段的名称
enc=encodeURIComponent(名称),//编码名称
query=[],//存储数据的数组
flds=document.querySelectorAll('input[name=“”+name+””)//输入
对于(var f=0;f
$\u请求['fld']
将是一个数组

注意:通过POST发送数据时,还必须发送相应的标题,请参阅:

在没有看到
$data
@Dr.Molle的情况下很难给出答案,感谢cm。数据是这样的一些输入文本。这些是表单字段,您如何发送这些字段(您如何准备数据以通过AJAX发送?),或者这是一个问题,您可以如何发送这些字段?@Dr.Molle,我的问题是后者,如果不使用json,如何在php中将其作为数组发送和获取