将 jQuery 数组传递给 PHP (POST)
Posted
技术标签:
【中文标题】将 jQuery 数组传递给 PHP (POST)【英文标题】:Passing a jQuery array to PHP (POST) 【发布时间】:2018-07-25 01:51:18 【问题描述】:我想使用 jQuery 向 php(POST 方法)发送一个数组。
这是我发送 POST 请求的代码:
$.post("insert.php",
// Arrays
customerID: customer,
actionID: action
)
这是我读取 POST 数据的 PHP 代码:
$variable = $_POST['customerID']; // I know this is vulnerable to SQLi
如果我尝试读取使用$.post
传递的数组,我只会得到第一个元素。
如果我使用 Fiddler 检查 POST 数据,我会看到 Web 服务器以“500 状态代码”回答。
如何在 PHP 中获取完整的数组?
感谢您的帮助。
【问题讨论】:
您遇到什么错误?并显示您的 php 代码 jQuery Ajax POST example with PHP的可能重复 我的 IDE 没有出现错误。如果我使用 fiddler 检查发布数据,我会收到“HTTP 状态 500”错误。 如果你得到一个状态 500,那么在某处有一个错误信息! 500 通常表示处理 POST 的 Web 服务器遇到了异常情况。如果可以,您应该验证服务器是否配置正确。否则你无能为力。 【参考方案1】:要将数据从 JS 发送到 PHP,您可以使用 $.ajax :
1/ 使用“POST”作为type,dataType是你想要接收什么样的数据作为php响应,url是你的 php 文件和 data 只是发送你想要的。
JS:
var array =
'customerID': customer,
'actionID' : action
;
$.ajax(
type: "POST",
dataType: "json",
url: "insert.php",
data:
"data" : array
,
success: function (response)
// Do something if it works
,
error: function(x,e,t)
// Do something if it doesn't works
);
PHP:
<?php
$result['message'] = "";
$result['type'] = "";
$array = $_POST['data']; // your array
// Now you can use your array in php, for example : $array['customerID'] is equal to 'customer';
// now do what you want with your array and send back some JSON data in your JS if all is ok, for example :
$result['message'] = "All is ok !";
$result['type'] = "success";
echo json_encode($result);
这是你要找的吗?
【讨论】:
是的,这就是我要找的!谢谢!如果我有足够的声誉,我会投票给你的答案。以上是关于将 jQuery 数组传递给 PHP (POST)的主要内容,如果未能解决你的问题,请参考以下文章