php-код для преобразования объекта javascript в строку

#php #javascript #yslow

#php #javascript #yslow

Вопрос:

У меня есть php-файл, из которого я пытаюсь запустить firefox и получаю результаты yslow. Но результаты yslow отправляются в форме объекта, что-то вроде [object Object] результаты отправляются с использованием метода post. как можно преобразовать его в строку в php-коде и отобразить на веб-странице???

Комментарии:

1. Пожалуйста, добавьте еще немного контекста. Что вы отправляете откуда куда, используя что?

Ответ №1:

Ваш вопрос немного неясен. звучит так, как будто вы пытаетесь опубликовать объект javascript, который преобразуется в строку.

 {foo:'bar'}.toString(); // return "[object Object]"
  

Вам необходимо сериализовать объект, если вы хотите включить его в данные POST.

Комментарии:

1. Это результат, который я получаю от yslow. при вычислении результата значения сохраняются примерно так: { «ynumreq»: { «score»: 85} }, а при отправке в php-файл они выполняют JSON.stringify(params,null), где param содержит результат. как я могу получить результат в моем php-файле и отобразить

Ответ №2:

Если ваш объект передается в JSON.stringify , то is должен быть возвращен как string .

 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 — это, по сути, то, что вы отправляете на сервер, как вы упомянули, где оно публикуется, если вы используете json_decode в вашем PHP (как предложено), это должно сработать.

 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
    )
)
  

Оттуда вы можете начать получать значения. Это из того, что я тестировал, основываясь на том, как вы описали свои данные.

Ответ №3:

Я предполагаю, что он отправляется в формате JSON, который вы можете использовать функцией json_decode — http://php.net/manual/en/function.json-decode.php

Ответ №4:

Разница между объектом JavaScript string и JSON заключается в том, что в JSON имя переменной foo заключено в двойные кавычки. json_decode не работает со строками объектов JavaScript.