如何使用与jQuery的AJAX postrequest + php一起发送的数组
How to use an array sent with an jQuery's AJAX post request + php?
我正在尝试在 ajax 请求中传递数组,但显然它不起作用......
$.post("process.php", array,
function(data) {
document.getElementById("output").innerHTML = JSON.parse(data);
});
我的问题是,如何使用进程文件中发送的数据?
数组是这样构建的:[key (0/1/2...)] => ["prod_id"]
.ID 各不相同。
我在某处阅读使用$_POST["key"];
会起作用,但它没有。
如果我能按进程文件中的原样获取数组,那就更好了。
process.php
(非常基本 - 只是为了检查它是否有效。
<?php
print($_POST["test"]);
?>
尝试传递{data: array}
而不是array
。AJAX 调用需要一个对象。
您需要构建数组元素的对象。 例如:
您也可以尝试:
{ 'key[]': [1, 2, 3] }
或
{ key: [1,2,3] }
阅读更多关于 $.post() 的信息
为了在 php 中接收数据,您需要发送键/值对,但您只发送一个值。
你在 php 中收到带有 $_POST[key]
这将返回该键的值。
.JS:
$.post("process.php", {myAray: array}, function(data) {
$("#output").html(data);
});
.php
$array= $_POST['myArray'];
要从 php 返回此数组作为文本只是为了测试您的 ajax 可以使用 var_dump( $_POST)
或var_dump($array);
如果你打算从服务器接收JSON作为响应,你不需要使用JSON.parse,jQuery会在内部解析json。但是,您需要将"json"作为数据类型参数添加到$.post中
$.post("process.php", {myAray: array}, function(data) {
/* loop over json here*/
},'json');
如果你想传递一个数组,你必须"准备"密钥,如下所示:
{'key[]' : ['value1', 'value2', 'value3']}
就像你想在表单中传递数组并将 name-attribute 设置为 "key[]" 时,你会这样做。
相关文章:
- 如何在php中创建一个函数,该函数与文本区域一起工作,通过输入类似[color:red]的内容来打印具有等效颜色的文本
- document.title函数可以't设置它与php一起工作
- PHP会话ID变量与AJAX一起返回
- PHP、Javascript和SQL代码混杂在一起
- PHP:同时循环元素粘在一起
- 无法使autocompletion与bootstrap和php代码点火器一起工作
- 我想通过单击按钮将 2 个 php 文件链接在一起
- 使用php解析xml并将其转换为json以与$.ajax一起使用时遇到问题
- PHP,X-SendFile:将文件与输出文本一起发送到浏览器(通过echo)
- javascript和php不能一起工作
- Twig PHP Renderer 和 Tempo JS Renderer 在一起
- 让 JavaScript 验证与 PHP 一起使用
- PHP和Javascript一起工作
- JavaScript 不与 HTML 和 PHP 一起工作
- JavaScript 文件换行符与 PHP 一起使用
- 如何使用与jQuery的AJAX postrequest + php一起发送的数组
- 为什么我的JavaScript不能与我的PHP文件一起使用
- 如何将 jQuery AJAX 与 PHP 一起使用
- 将 Jquery 与 php 和 html 一起使用
- 按字母表列出,将条目较少的字母组合在一起(PHP或JS)