【问题标题】:PHP: '0' being placed at end of HTML stringPHP: '0' 被放置在 HTML 字符串的末尾
【发布时间】:2021-02-02 23:32:37
【问题描述】:

我在显示的末尾得到一个“0”,这使得 json_encode 显示错误 - “SyntaxError: JSON.parse: unexpected non-whitespace character 在 JSON 数据的第 1 行第 30 列的 JSON 数据之后"

在控制台中它看起来像 - "<div>nothing to show<\/div>"0

我曾尝试在echoelse 结束标记之后添加die;,正如我所读到的那样,这可以解决关于SO 的另一个问题。但是,当添加到任一位置时,控制台会记录一个“空字符串”。我将如何删除 0 或者如果 die 是正确的,它会去哪里?

function phpfuncname(){
$html_string = '';
        if($vairable){
            $html_string .= ' <div class="myclass">div content here</div>';
                {else{
                    $html_string .='<div>nothing to show</div>';  
                    echo json_encode($html_string);
                } 
}

查询:

        jQuery.ajax({
                type: 'post',
                url: my_ajax.ajax_url,
            dataType: 'JSON',
                data: {
                    action: 'php_function_name',
                }
            })
            .done(function(data) {
                jQuery('#waitlist').html(data.html);
            })
                .fail(function(xhr, status, error) {
                console.log(xhr.responseText); 
                alert(error); 
            })

【问题讨论】:

  • 你的意思是在两个主要代码行之间有一个右括号吗?
  • 该错误消息来自 JavaScript。你确定 PHP 没有在代码后面回显任何其他内容吗?
  • @tangentiallyperpendicular 是的,这是代码的结尾,只是右括号
  • @user15081222 else 语句的第一行:
    ';};
  • 您的代码 sn-ps 不匹配。您的客户端需要带有 html 属性的 JSON 对象响应,但您的 PHP 不会产生该响应。这里根本不够,显示的内容并不一致。我建议您从非常小规模开始,并从工作基础级别开始扩展您的代码,例如&lt;?php echo json_encode(["html" =&gt; "&lt;div&gt;Hello, World!&lt;/div&gt;"]); exit;
  • 标签: javascript php jquery json


    【解决方案1】:

    那是因为您的 json_encode 编码的是字符串,而不是数组。当你的js代码接收到数据时,没有data.html,所以是未定义的。

    把它改成

    console.log(数据);

    然后看到你的文字出现了。

    要解决,你可以这样做:

    echo json_encode(array("html" => $html_string)); wp_die();

    得到你想要的。 wp_die() 是必须的。

    【讨论】:

    • wp_die() 是我解决类似问题的关键。
    猜你喜欢
    • 2023-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-11
    • 2017-09-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多