Я отправляю строчный JSON через AJAX от клиента к серверу. Однако PHP не может декодировать его, хотя он, похоже, правильно структурирован для меня. Я прошел через ответы на подобные вопросы, в большинстве вопросов json_decode
возвращает NULL
, что здесь не так, вместо этого возвращает пустую строку.PHP json_decode возвращает пустую строку (не NULL)
Что посылает Javascript:
{"columns":{"l1":{"name":"Impressions"},"l2":{"name":"Clicks"}},"domain":"Media Performance"}
Что PHP печатает (то же самое с сбежавших кавычки):
{\"columns\":{\"l1\":{\"name\":\"Impressions\"},\"l2\":{\"name\":\"Clicks\"}},\"domain\":\"Media Performance\"}
Может кто-нибудь увидеть этот вопрос здесь? Это кажется довольно простым, но json_decode
продолжает возвращать пустую строку.
Приносим извинения, что не вводите код.
Вот AJAX (str
является строка JS приведены выше):
$.ajax({
type: "POST",
url: base + "handlers/createreport.php",
data: {
str: str
}
})
А вот createreport.php
, нет никакой обработки вообще:
$str = $_POST['str'];
echo $str; //prints out the string given above with escaped quotes
echo json_decode($str); //empty string
пожалуйста показать код, просто обеспечивая вход и выход не позволяет нам снимать проблемы, что происходит – cmorrissey
Что PHP распечатывает недействителен json, вы как-то обрабатываете свой вход, прежде чем пытаетесь его декодировать? – jeroen
@cmorrissey Я добавил JS и PHP-код к вопросу. – jovan