【问题标题】:How to Stringify one JSON object while keeping the other an integer如何对一个 JSON 对象进行字符串化,同时将另一个对象保持为整数
【发布时间】:2019-12-29 19:40:56
【问题描述】:

在 PHP 方面,我有一个整数和一个 HTML 字符串:

function get_the_goods() {

$versionid = '7';

$htmlstuff = '';
$htmlstuff .= '<div id=\"kittens\">STUFF AND STUFF</div><img src=\"https://example.com\">';
$htmlstuff .= '<p>KITTENS THE SEQUEL.</p>';

echo "{'versionid':'" . $versionid . "','htmlstuff':'" . $htmlstuff . "'}";

wp_die();

}

$versionid 只是一个整数,而 $htmlstuff 是一个合理的 HTML 字符串。为了解决这个问题,我转义了双引号。

当我在 JQuery/JS 端解析这个时,我得到一个意外的令牌错误。以前,我只发送 HTML 字符串本身,没有 JSON 数组,一切都很好。

//THIS IS THE RELEVANT JQUERY/AJAX PART:

                   success : function(data){

                           if(data && data !="") {

                             var json = JSON.parse(data);

                              var htmlstuff = json.htmlstuff;

                                var previousversion = json.versionid;

                                 console.log(versionid);
                                 jQuery('#kittens).html(htmlstuff);


                       }

                       }

【问题讨论】:

  • jQuery('#kittens).html(htmlstuff); 正确吗?你错过了'

标签: php jquery json


【解决方案1】:

我认为你的 json 中的 html 有新的一行。如果您不需要新行。你可以像这样删除它:

$htmlstuff = preg_replace('/\s+/', ' ', $htmlstuff);

如果它没有帮助。请给我们发送纯 html。

【讨论】:

  • 我试过了,但没用,所以我放弃了手工制作的 JSON 准备,改用 JSON_ENCODE,效果很好。
【解决方案2】:

我对这个问题的解决方案很简单。我没有尝试自己回显 JSON,而是将它放入一个 PHP 数组并使用 JSON_ENCODE 为 jQuery 准备它,这最终工作正常。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-07-06
    • 1970-01-01
    • 2016-09-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-22
    • 2023-03-13
    相关资源
    最近更新 更多