相关疑难解决方法(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相当于.NET/Java的toString()

如何将PHP变量的值转换为字符串?

我正在寻找比用空字符串连接更好的东西:

$myText = $myVar . '';
Run Code Online (Sandbox Code Playgroud)

就像ToString()Java或.NET中的方法一样.

php string

542
推荐指数
14
解决办法
150万
查看次数

通过jQuery $ .ajax将JavaScript数组传递给PHP

我想在PHP中操作JavaScript数组.可以这样做吗?

$.ajax({
       type: "POST",
       url: "tourFinderFunctions.php",
       data: "activitiesArray="+activities,
       success: function() {
            $("#lengthQuestion").fadeOut('slow');
       }
    });
Run Code Online (Sandbox Code Playgroud)

活动是一个单维数组,如:

var activities = ['Location Zero', 'Location One', 'Location Two'];
Run Code Online (Sandbox Code Playgroud)

我尝试这个时脚本没有完成...我该如何解决?

javascript php ajax jquery

77
推荐指数
4
解决办法
14万
查看次数

PHP JSON String,JS输出的双引号转义

我正在从PHP数组创建一个JSON字符串.我用它编码了json_encode().

$data = array(
    'title' => 'Example string\'s with "special" characters'
);

$data = json_encode( $data );
Run Code Online (Sandbox Code Playgroud)

$data使用本地化wp_localize_script()并可通过全局data变量访问.

在JS文件中,我可以通过以下方式访问信息:

var data     = data.replace( /&quot;/g, '"' ),
    jsonData = jQuery.parseJSON( data );

console.log( jsonData );
Run Code Online (Sandbox Code Playgroud)

这导致输出:

{ "title":"Example string's with "special" characters" }
Run Code Online (Sandbox Code Playgroud)

将结果输入http://jsonlint.com/会返回错误.删除"特殊"周围的双引号可验证字符串.

从PHP创建JSON字符串并正确转义它以在JS文件中使用的最佳方法是什么?

php json escaping double-quotes

39
推荐指数
5
解决办法
12万
查看次数

如何将Php变量值分配给Javascript变量?

可能重复:
将PHP变量传递给Javascript的最佳方法是什么?

我使用以下代码:

<script type="text/javascript">
<?php $ctnme = $_SERVER['REQUEST_URI'];
$cnme = explode("/",$ctnme);
echo $cname = $cnme[1];
?>
var spge = <?php echo $cname; ?> ;
alert(spge);
</script>
Run Code Online (Sandbox Code Playgroud)

该值不会发出警报.这是什么错误?

html javascript php

27
推荐指数
2
解决办法
13万
查看次数

Django:使用Javascript在我的模板中解析JSON

在我看来,我有这个:

string_location = myaddress2
    geodata = []
    for place, (lat, lng) in g.geocode(string_location,exactly_one=False):
        geodata.append((place, (lat, lng)))

    geodata_results = len(geodata)

    data = {"geodata": geodata, "geodata_results":geodata_results }
    return render_to_response("business/business_view.html",
                              data, context_instance=RequestContext(request))
Run Code Online (Sandbox Code Playgroud)

我如何"处理"/将地理数据转换为JSON并将其传递给我的模板,以便我可以像数组一样"循环"它?

我是否认为我可以这样做?如果没有,那么请建议更好的解决方案.

谢谢!

UPDATE

var geodata = "[[&quot;M. L. Quezon Street&lt;br/&gt;Mandaue City, Philippines&quot;, [10.351381999999999, 123.923535]], [&quot;Talamban&lt;br/&gt;Cebu City, Philippines&quot;, [10.353527, 123.91352500000001]]]"; 
Run Code Online (Sandbox Code Playgroud)

我认为JSON没有被转义?如何在json字符串中转义特殊字符?我一直收到换行错误.

对于PHP,我会用json_encode()来解决这个问题.就像在这篇文章中一样:将PHP字符串传递给JavaScript变量(并转义换行符)但是我如何在Python/Django中执行此操作?

python django json django-templates

26
推荐指数
3
解决办法
4万
查看次数

如何从PHP中为javascript转义字符串?

让我们想象一下表单编辑器,它可以编辑可用的值.如果数据包含"字符(双引号),它"破坏"HTML代码.我的意思是,让我们检查代码:所以我生成HTML:

onclick="var a = prompt('New value: ', '<?php echo addslashes($rec[$i]); ?>'); if (a != null)....

它导致了

onclick="var a = prompt('New value: ', 'aaaa\"aaa'); if (a != null) { v....

这使得JS无法工作,因此它会破坏代码.使用单个qoute,'它可以正常工作.mysql real escape做同样的事.如何转义任何字符串,以便它不会破坏javascript?


json_encode看起来还不错,但我一定做错了,它仍然很糟糕:继续看看Firefox如何看待它 - 它插入了一个"糟糕"的双引号!值只是一个简单的数字:

http://img402.imageshack.us/img402/5577/aaaahf.gif

我曾经用过:

('Ird be az új nevet:', <?php echo json_encode($rec['NAME']); ?>); if (a) { 
Run Code Online (Sandbox Code Playgroud)

javascript php escaping addslashes

14
推荐指数
2
解决办法
5万
查看次数

在PHP和JavaScript之间共享常量

可能重复:
将PHP字符串传递给Javascript变量(并转义换行符)

我正在开发的PHP应用程序中有几个常量.我已经定义了一个Constants类,并将常量定义为const VAR_NAME = value; 在这堂课上.我想在JavaScript和PHP代码之间共享这些常量.是否有干(不要重复自己)机制来分享它们?

class Constants {
    const RESOURCE_TYPE_REGSITER = 2;
    const RESOURCE_TYPE_INFO = 1;
}
Run Code Online (Sandbox Code Playgroud)

javascript php code-generation dry

12
推荐指数
1
解决办法
6742
查看次数

编码带有引号和换行符的PHP变量,以传递给Javascript函数(然后反转编码)

假设您有一个名为$ description的PHP变量,其中包含以下值(包含引号和换行符):

Tromp L'oeil Sheath Dress

You will certainly "trick the eye" of many in this gorgeous illusion. Add it to your fall wardrobe before it disappears.
Run Code Online (Sandbox Code Playgroud)

您希望将此变量的内容传递给Javascript函数,该函数将该值写入文本类型的INPUT中.

你会怎么做?我试过这个:

$description = htmlspecialchars ( $product->description, ENT_QUOTES );
Run Code Online (Sandbox Code Playgroud)

但是,我收到了JS错误.我也试过这个:

$description = rawurlencode ( $product->description );
Run Code Online (Sandbox Code Playgroud)

这样编码的值如下:

Michael%20Kors%0A%0ATromp%20L%27oeil%20Sheath%20Dress%0A%0AYou%20will%20certainly%20%22trick%20the%20ey%22%20of%20many%20in%20this%20gorgeous%20illusion.%20Add%20it%20to%20your%20fall%20wardrobe%20before%20it%20disappears.%0A%0AAvailable%20in%20Black%2FNude
Run Code Online (Sandbox Code Playgroud)

这个值可以作为JS变量传递,但我不知道JS函数会干净地反转PHP rawurlencode.

是否有一对匹配的函数可用于在PHP中对变量进行编码以允许将其传递给JS函数 - 然后在JS中反转编码以便获取PHP变量的原始值?

编辑:澄清问题并回复评论,这里有一些测试代码:

<?php
$str =<<<EOT
Tromp L'oeil Sheath Dress

You will certainly "trick the eye" of many in this gorgeous illusion. Add it to your fall wardrobe before it disappears.
EOT; …
Run Code Online (Sandbox Code Playgroud)

php

7
推荐指数
1
解决办法
5621
查看次数

如何使javascript忽略转义(\)字符?

qAnswersR[90430] = [];
    qAnswersR[90430].push("[math]k: \frac{(x+20)^{2}}{256}+\frac{(y-15)^{2}}{81}=1[/math]");
Run Code Online (Sandbox Code Playgroud)

我需要将值转换为变量,但是当我在console.log中输出这样的数组:

console.log(qAnswersR[90430]);
Run Code Online (Sandbox Code Playgroud)

我明白了: [math]k: rac{(x+20)^{2}}{256}+rac{(y-15)^{2}}{81}=1[/math],[math]k: 81(x+20)^{2}+256(y-15)^{2}=20736[/math]

但逃脱标签"\"消失了,但我需要它,我该怎么办?

javascript escaping

7
推荐指数
2
解决办法
1万
查看次数