Php jqueryajaxget请求与JSON
我从表单中调用以下ajax:Php jqueryajaxget请求与JSON,php,jquery,rest,getjson,Php,Jquery,Rest,Getjson,我从表单中调用以下ajax: $.ajax({ data: JSON.stringify($('form').serializeArray()), //an array [{"name":"myform","value":"entered value"}] dataType: 'json', type: 'POST', url:'products/id/code', contentType: 'application/jso
$.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($\u GET,$parameters)似乎有问题
$\u服务器['QUERY\u STRING']返回:
[{%22name%22:%22mydata%22,%22value%22:%22myvalue%22}]
当我在得到的字符串上对[,]和%22执行str_替换时
Array
(
[{"name":"mydata","value":"myvalue"}] =>
)
在我保存的文件中。有没有更有效的方法去除这些字符?像这样尝试:
parse_str($_GET, $parameters);
重写是否将查询字符串写入新url?如果是,是否将其分配给变量?像
index.php?q={json}
或index.php?{json}
Get请求不支持将数据作为请求体发送,只有POST和PUT请求支持此类数据transfer@arunpjohny如果他在$.ajax
request@Orangepill但是根据规范GET没有一个实体体,它声明数据是作为jquery文档的一部分进行编码的url,这样它就不会出现在正文中。parseData标志将阻止jquery尝试按照正常get请求对其进行编码。i、 e.key=value&key2=value…