从JavaEE通过PHP发送HTML数据,而不使用JSON对象进行更改

从JavaEE通过PHP发送HTML数据,而不使用JSON对象进行更改,php,html,json,Php,Html,Json,我必须向前端发送包含消息和HTML代码的响应,如下所示 01|<form method="post" action="https://sample.php" id="frm_submit"> <input type="hidden" name="Name" value="name"> <input type="hidden" name="Pass" value="pass"> </form><script>doc

我必须向前端发送包含消息和HTML代码的响应,如下所示

    01|<form method="post" action="https://sample.php" id="frm_submit">
    <input type="hidden" name="Name" value="name">
    <input type="hidden" name="Pass" value="pass">
</form><script>document.getElementById('frm_submit').submit();</script> 
所以前端接收

{"success":true,"url":"    \t\t\t\t    \t\t\t\t\t\t\t\t\t    \t\t\t\t\t
<form method=\"post\" action=\"https:\/\/sample.php\" id=\"frm_submit\">    \t\t\t\t    \t\t\t\t    \t\t\t\t    \t\t\t\t\t
    <input type=\"hidden\" name=\"Name\" value=\"name\">    \t\t\t\t    \t\t\t\t\t
    <input type=\"hidden\" name=\"Pass\" value=\"pass\">    \t\t\t\t    \t\t\t\t\t
        \t\t\t\t\t<\/form>    \t\t\t\t\t
    <script>    \t\t\t\t\t\tdocument.getElementById('frm_submit').submit();    \t\t\t\t\t<\/script>    \t\t\t\t\t"}
{“success”:true,“url”:“\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\t\t\t\t\t\t\t\t\t\t
\t\t\t\t\t\t\t\t\t\t
\t\t\t\t\t\t\t\t\t\t\t
\t\t\t\t\t文档.getElementById('frm\u submit').submit();\t\t\t\t\t\t\t\t\t“}

此处无法正确显示HTML代码。因为它在通过PHP时发生了变化。如何确保HTML代码在结束前不会更改。

在回显JSON之前,您必须对JSON进行
解码()
因为
encode()
scape您的HTML不会因引号或斜杠而崩溃

您必须正确地访问JSON变量。它一定看起来像:

$outObj = CJSON::decode($outObj);
echo $outObj->success; // To access to yor boolean value
echo $outObj->url; // To access to yor HTML

从JavaEE发送字符串或URL编码的字符串不起作用,因为某些值在通过PHP服务器传递时会发生更改
因此,我发现最好的方法是从JavaEE端使用Base64编码,PHP不会更改字符串。

在前端解码并显示代码,如下所示,

<script>
function b64DecodeUnicode(str) {        
    return decodeURIComponent(atob(str).split('').map(function(c) {
        return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);
    }).join(''));
}
var words = b64DecodeUnicode(base64_encoded_string_goes_here);
document.write(words);
</script>

函数b64DecodeUnicode(str){
返回decodeURIComponent(atob(str).split(“”).map(function(c){
返回“%”+('00'+c.charCodeAt(0).toString(16)).slice(-2);
}).加入(“”);
}
var words=b64DecodeUnicode(这里是base64编码的字符串);
文件。书写(文字);
<script>
function b64DecodeUnicode(str) {        
    return decodeURIComponent(atob(str).split('').map(function(c) {
        return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);
    }).join(''));
}
var words = b64DecodeUnicode(base64_encoded_string_goes_here);
document.write(words);
</script>