Javascript 在php中以数组形式从xmlhttprequest获取数据
在php中有没有一种方法可以将xmlhttprequest对象作为数组(不使用json和jquery)获取数据 我遇到一篇文章说,为了在php中处理ajax请求,将首先检查输入数据是否为数组。 以下是有关文本的代码: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
$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中将其作为数组发送和获取