1

我从表单中调用以下 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"}] => 
)

在我保存的文件中。有没有更有效的方法来去除这些字符?

4

1 回答 1

0

试试这样:

parse_str($_GET, $parameters); 
于 2013-05-17T03:04:10.150 回答