저는 파이어 폭스를 실행하고 yslow 결과를 얻으려는 PHP 파일을 가지고 있습니다. 하지만 yslow 결과는 객체 형태로 전송됩니다. [object Object] 결과는 post 메소드를 사용하여 전송됩니다. PHP 코드로 문자열로 변환하고 웹 페이지에 표시하는 방법 ???자바 스크립트 객체를 문자열로 변환하는 PHP 코드
답변
개체가 JSON.stringify
으로 전달되면 문자열로 반환되어야합니다.
var a = { "ynumreq": { "score":85} }; // currently an [object Object]
var b = JSON.stringify(a, null); // now "b" is a string representation of "a", "{ "ynumreq": { "score":85} }"
만약 B 당신이 그것을 게시되는 위치 언급 한 것처럼 당신이 (제안) 당신의 PHP에 json_decode를 사용하는 경우, 그것은 작동합니다, 서버에 보내는 것을 본질적이다.
print_r(json_decode($_POST['string_object'])); // in this case it's '{"ynumreq":{"score":85}}'
당신은
{"ynumreq":{"score":85}}stdClass Object
(
[ynumreq] => stdClass Object
(
[score] => 85
)
)
는 거기에서 값을 얻기 시작할 수 있습니다 받아야합니다. 이것은 내가 데이터를 어떻게 설명했는지에 따라 테스트 한 것입니다.
나는 그것이 당신이 json_decode 기능을 사용할 수있는 JSON 때 전송 된 있으리라 믿고있어 - http://php.net/manual/en/function.json-decode.php
json_decode를 사용했지만 작동하지 않았습니다. – su03
귀하의 질문은 비트 ambigues입니다. 그것은 당신이 문자열로 변환 점점 자바 스크립트 개체를 게시하려고하는 것처럼 들리 네.
{foo:'bar'}.toString(); // return "[object Object]"
POST 데이터에 포함 시키려면 객체를 직렬화해야합니다.
결과 yslow에서 얻은 결과. 결과를 계산하는 동안 값은 다음과 같이 저장됩니다. { "ynumreq": { "score": 85}} PHP 파일에 게시하는 동안 param에 결과가 포함 된 JSON.stringify (params, null)을 수행합니다. 어떻게 내 PHP 파일 및 표시 결과를 가져올 수 있습니다 – su03
JavaScript 객체 문자열과 JSON의 차이점은 JSON의 경우 변수 이름 foo가 큰 따옴표로 묶여 있다는 점입니다. JavaScript 객체 문자열에는 json_decode가 작동하지 않습니다.
더 많은 문맥을 추가하십시오. 무엇을 어디에서 어디로 보낼 것입니까? –