我从表单中调用以下 ajax:
$.ajax({
data: JSON.stringify($('form').serializeArray()), //an array [{"name":"myform","value":"entered value"}]
dataType: 'json',
type: 'POST',
url:'products/id/code',
contentType: 'application/json; charset=utf-8',
success: function(json){
$("#container").html(json.value);
},
});
products/id/code 使用 .htaccess 重定向到 index.php
index.php 包含:
$data = json_decode(file_get_contents("php://input"));
$val = $data->value;
Save to file...
这适用于 POST/DELETE/PUT。
如何使它适用于 GET 请求。我努力了
$parameters = array();
parse_str($_SERVER['QUERY_STRING'], $parameters);
$results = print_r($parameters, true);
save to file ...
但我得到的是:
Array
(
)
任何帮助将不胜感激。谢谢。
更新:
似乎 parse_str($_GET,$parameters) 有问题。
$_SERVER['QUERY_STRING'] 返回:
[{%22name%22:%22mydata%22,%22value%22:%22myvalue%22}]
当我在字符串上为 [, ] 和 %22 执行 str_replace 时,我得到
Array
(
[{"name":"mydata","value":"myvalue"}] =>
)
在我保存的文件中。有没有更有效的方法来去除这些字符?