我正在尝试将返回的json对象转换为序列化字符串,可以使用PHP服务器端代码进一步处理该字符串:
返回的对象如下所示:
Object {id: "123456787654321", email: "some-email@gmail.com", first_name: "First", gender: "male", last_name: "Last"}我可以使用以下方法将对象转换为字符串:
var paramString = JSON.stringify(response);
console.log(paramString);
// doesn't work
//var params = paramString.serialize();现在如何将字符串转换为序列化的字符串,通过以下客户端调用将其传递给服务器:
我希望会有这样的事情:
id=123456787654321&email=some-email@gmail.com&first_name...我的服务器端代码:
$.post("/functions/test_functions.php", {params: params}, function(data) {
...
}, "json");我像处理服务器端那样处理params数组:
$vars = $_SERVER['REQUEST_METHOD'] === "GET" ? $_GET : $_POST;
$params = array();
isset($vars['params']) ? parse_str($vars['params'], $params) : null;发布于 2015-03-16 13:33:46
您可以将JSON-字符串传递给服务器,并使用json_decode()对其进行解码。详情请参见http://php.net/manual/en/function.json-decode.php。
发布于 2015-03-16 13:45:49
除非有什么特别的理由让你紧张,否则你并不需要这样做。jQuery .post将为您处理序列化,例如:
var response = {id: "123456787654321", email: "some-email@gmail.com", first_name: "First", gender: "male", last_name: "Last"};
$.post("/functions/test_functions.php", response, function(data) {
...
}, "json");会提出这样的邮件请求:
/function/test_function s.php
内容-类型:应用程序/x form-urlencoded;字符集=utf-8
id=12345654321&email=some-email@gmail.com&first_name.... 表单数据:
https://stackoverflow.com/questions/29077951
复制相似问题