Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/463.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在php端回显javascript中发布的数据进行开发?_Javascript_Php - Fatal编程技术网

如何在php端回显javascript中发布的数据进行开发?

如何在php端回显javascript中发布的数据进行开发?,javascript,php,Javascript,Php,我使用的是symfony5,我使用axios将javascript中的数据发布到php服务器端。出于开发目的,我希望将发布的数据显示在页面上,以便更好地构建和查看它们 js文件 const onSubmit = () => { axios.post('mystuff/post', data) .then(response => { console.log(response.data) }) .catch(err => {

我使用的是symfony5,我使用axios将javascript中的数据发布到php服务器端。出于开发目的,我希望将发布的数据显示在页面上,以便更好地构建和查看它们

js文件

const onSubmit = () => {
    axios.post('mystuff/post', data)
    .then(response => {
        console.log(response.data)
    })
    .catch(err => {
        console.log(err);
    })
}
php文件

/**
 * @Route("/mystuff/post")
 */
public function postData(Request $request)
{
    $post_data = $request->getContent();
    return new JsonResponse($post_data)
}

上面的代码通过将数据返回到js端并将其注销而工作,但是很难在控制台中真正看到它们。所以我想在控制器中回显数据,并在页面上显示它们。我怎样才能做到这一点呢?

我刚刚找到了一个可以做到这一点的react组件。我只是传入json响应字符串,它将按照层次结构顺序对其进行格式化

js文件

import JSONPretty from 'react-json-pretty';

const App = () => {
    const [jsonString, setjsonString] = useState("");

    const onSubmit = () => {
        axios.post('mystuff/post', data)
        .then(response => {
            setjsonString(response.data);
        })
        .catch(err => {
            console.log(err);
        })
    }

    return(
        <>
            <JSONPretty id="json-pretty" data={jsonString}></JSONPretty>
            <button onClick={onSubmit}>Submit</button>
        </>
    )

}
从“react json pretty”导入JSONPretty;
常量应用=()=>{
const[jsonString,setjsonString]=useState(“”);
const onSubmit=()=>{
axios.post('mystuff/post',数据)
。然后(响应=>{
setjsonString(response.data);
})
.catch(错误=>{
控制台日志(err);
})
}
返回(
提交
)
}

与您在网站上显示任何其他变量数据的方式完全相同。只需创建一个具有唯一id的元素并设置innerText:
document.getElementById(“您的元素”).innerText=response.data
.then(response=>{document.getElementById(“您的元素”).innerText=response.data;})
或类似我得到了错误
TypeError:无法将属性'innerText'设置为null
执行此操作哦,我发现了问题,我指向的是一个类而不是id。响应数据已成功显示在页面上。但它仍然是一堆字符串,很难阅读,我如何用php中的
格式化它呢?
const el=document.createElement(“pre”);el.textContent=response.data;文件.正文.附件(el)