相关疑难解决方法(0)

如何将变量和数据从PHP传递给JavaScript?

我在PHP中有一个变量,我需要在我的JavaScript代码中使用它的值.如何将我的变量从PHP变为JavaScript?

我的代码看起来像这样:

<?php
     ...
     $val = $myService->getValue(); // Makes an API and database call
?>
Run Code Online (Sandbox Code Playgroud)

我有需要的JavaScript代码,val并且看起来如下:

<script>
    myPlugin.start($val); // I tried this, but it didn't work
    <?php myPlugin.start($val); ?> // This didn't work either
    myPlugin.start(<?=$val?> // This works sometimes, but sometimes it fails
</script>
Run Code Online (Sandbox Code Playgroud)

javascript php

642
推荐指数
12
解决办法
72万
查看次数

为什么这个PHP调用json_encode会无声地失败 - 无法处理单引号?

我有一个stdClass名为的对象$post,当转储通过时print_r(),返回以下内容:

stdClass Object (
    [ID] => 12981
    [post_title] => Alumnus' Dinner Coming Soon
    [post_parent] => 0
    [post_date] => 2012-01-31 12:00:51
)
Run Code Online (Sandbox Code Playgroud)

通过调用json_encode()此对象来回显结果会导致以下结果:

{
    "ID": "12981",
    "post_title": null,
    "post_parent": "0",
    "post_date": "2012-01-31 12:00:51"
}
Run Code Online (Sandbox Code Playgroud)

我假设单引号的东西导致json_encode窒息,但我不知道需要什么格式来逃避.有任何想法吗?

编辑:修复了代码示例中的不匹配问题.我正在运行PHP 5.3.8版

EDIT2:在编码对象后,我直接执行了以下操作:

echo json_last_error() == JSON_ERROR_UTF8;
Run Code Online (Sandbox Code Playgroud)

这打印1,这意味着发生以下错误:"格式错误的UTF-8字符,可能编码错误".json_last_error()

编辑3:调用utf8_decode()帖子标题导致以下内容:"校友?晚餐即将来临".这些数据是从MySQL数据库中提取的 - 特别是帖子标题是一个UTF-8编码的文本字段.也许这个单引号编码不正确?问题是,我有一个SQL GUI应用程序,它正确显示在那里.

php json

43
推荐指数
4
解决办法
6万
查看次数

标签 统计

php ×2

javascript ×1

json ×1